Changelog
Release history for Dixel, newest first. Each release also gets a post on the blog.
0.0.26
Animation arrives. Turn a drawing into a frame-by-frame animation, check it with onion skin and playback, then export an animated GIF to share, an animated PNG with every colour, a video for social apps, or a sprite sheet or one PNG per frame for your game. Animation is Pro; a project you never animate stays exactly as it was. See Animation.
Animation frames — a project can hold up to 128 frames. The layers are shared by every frame — the same names, order, blend, and opacity — and each frame has its own pixels on each layer. The Frames tab (phone) or the floating Frames panel (inner foldable / tablet; a floating panel of its own — drag its title bar to move it) shows a thumbnail of every frame: tap one to draw on it, Add an empty frame, Duplicate or Delete the current one (a project keeps at least one), and long-press and drag to reorder. Each frame has its own duration: type milliseconds (10–65535) or frames per second; new frames start at 100 ms. Playback — Play / Pause, first / previous / next / last frame, and Loop (saved with the project); tap the canvas to stop. Pro.
Onion skin — shows the frames before (red) and after (blue) the current one, faded, behind your drawing. The settings pick how many frames show on each side (0–3), how strong the nearest one is, and whether they are tinted. Onion skin never appears in exports, thumbnails, or the eyedropper. The settings are saved with each animation: an animation that never changed them uses your latest settings, and so do new animations. On a project you can only view, you can still change them, but they are not saved.
One undo history across frames — undo and redo step back through every frame you edited; when a step belongs to another frame, Dixel jumps to that frame first. A layer you add, duplicate, import, or create with Drop shadow is added to every frame (empty on the others).
Static layers — mark a layer Static (same on every frame) in its layer menu and it is the same on every frame: draw a background or a border once and it shows in every frame, in playback, and in every export. A pin marks a static layer in the Layers panel. If the layer is different on other frames, Dixel asks first and keeps the frame you see; undo brings the other frames back. Onion skin leaves static layers out. Pro.
Linked cels — make one layer share a single image across several frames: the Link button in the Frames panel links the current layer's cels over a range of frames (they all take the current frame's pixels; undo brings the others back). Draw on any linked frame and every linked frame changes — in the thumbnails, playback, and every export. A link mark and a bar under the frames show what is linked for the current layer. Unlink this frame or Unlink all give the frames their own copies again, and Duplicate frame, linked adds a frame whose every layer is linked to the current one. Duplicating a layer keeps its links; merging layers unlinks the merged result. Pro.
Tags — name a group of frames, like "Walk" for frames 2–5: the Tag button in the Frames panel makes a tag that starts on the current frame (or edits the tag the current frame is in). Pick its frames, a name, a colour, and how it plays: Forward, Reverse, Ping-pong (there and back, without showing the end frames twice), or Ping-pong reverse. Tags show as coloured bars over the frames and move with their frames when you add, delete, or reorder frames. Every tag change can be undone. Play one tag — tap a tag's bar and Play loops only that tag, in its direction; tap it again to play every frame. The new Direction button sets how all frames play when no tag is chosen (saved with the project). Pro.
The gallery thumbnail always shows the first frame, and it updates when you reorder or delete frames.
Merge down, Flatten, and Merge group work on an animated project — every frame gets its own merged result, in one undo step that brings every frame back. Merging a static layer with a per-frame layer gives a per-frame layer; the result stays static only when everything merged into it is static. A step too large to undo on a very large project is refused and nothing changes.
Resize canvas, Crop to selection, and Trim work on an animated project — every frame, static layer, and reference layer moves with the canvas, in one undo step. Trim keeps the content of every frame, not only the one you see.
Colour mode and palette edits work on an animated project — converting to Indexed maps every frame to the palette you pick; switching back to RGBA changes no pixels; editing or removing a palette colour in Indexed mode updates that colour on every frame and the palette together, as one undo step.
Open an animated GIF or APNG as a new animation — pick it with Open image in the gallery: every frame becomes a frame, with its own duration, and the loop setting comes from the file (up to 1024 × 1024 and the first 128 frames; frames are never resized). On the free plan you can still open its first frame as a still image.
Import frames — the new button in the Frames panel adds the frames of a GIF or APNG, or the cells of a sprite sheet (set the cell size, margin, spacing, number of frames, and their duration), after the last frame, on the layer you are drawing on — in one undo step. Smaller frames are centred; an Indexed project asks first whether to fit the colours to its palette or switch to RGBA. Pro.
Animations in the gallery — every animated project's card shows a small film badge with its number of frames, and the new All / Animations tabs at the top of the gallery show only your animations when you want them. The tabs work together with folders, favourites, and sorting, on the free plan too. Selecting cards and then switching the tab, folder, or favourites now clears the selection, so Delete and Move only ever act on cards you can see.
A project has frames or a tilemap layer, not both. On the free plan, an animated project opens read-only: you see the first frame, you can play the animation, and the 1× PNG export saves the first frame. The file is never changed.
Export an animation — five new What to export choices in the share dialog's Image tab, shown when the project has more than one frame. Pro. When the project has tags, a Range choice exports all frames or one tag. The GIF, animated PNG, and video play the range in its direction (a ping-pong tag is saved there and back); the sprite sheet and the PNG sequence save the range's frames in order, and the sheet's JSON lists the tags and the direction so a game engine can play them. See Export and sharing.
- Animated GIF — one GIF in
Pictures/Dixelthat plays in every browser and chat app. Each frame keeps its duration (GIF counts in hundredths of a second; Dixel rounds so the total time stays right, and frames shorter than 20 ms play at 20 ms, because browsers slow down anything faster). Loop forever starts with the project's loop setting; turn it off and the GIF plays one time. Pick the scale and Apply pixel aspect. An Indexed project keeps its palette exactly. A GIF has at most 255 colours per frame, so a frame with more colours is reduced (without dithering), and half-transparent pixels become fully transparent or fully opaque. Apply CRT (when the CRT effect is on) saves every frame with the CRT look: the GIF is then opaque, and each frame is reduced to 255 colours without dithering, so the glow can band. A long export can be cancelled; nothing is saved then. - Animated PNG — one animated PNG (APNG) in
Pictures/Dixelwith no colour limit: every frame keeps the colours and soft, half-transparent pixels you see. Each frame keeps its exact duration in milliseconds (frames of 10–11 ms are saved as 12 ms, because browsers slow down anything shorter). The same Loop forever, scale, and Apply pixel aspect options as the GIF, and it can be cancelled too. Browsers and many apps play it; an app that does not know animated PNGs shows the first frame, and chat apps often turn it into a still — use the GIF there. Apply CRT saves every frame with the full CRT look (no colour limit); the file is then opaque. - Video (MP4) — one video in
Movies/Dixelfor apps that want a video, at 30 frames per second. Each frame keeps its duration rounded to 1/30 s (a shorter frame shows for 1/30 s). A video does not loop by itself, so Length can repeat the animation until the video is at least 3, 10, or 30 seconds long (it starts at 3 seconds when the project loops). Pick the scale (each one the video encoder of the phone can make), the background for transparent pixels (checkerboard or a colour, shared with the timelapse video), Apply CRT when the CRT effect is on, and Apply pixel aspect. It can be cancelled too. - Sprite sheet (PNG + JSON) — all frames in one PNG grid in
Pictures/Dixel, plus a JSON file inDocuments/Dixel(ourdixel-animformat: frame size, grid, and each frame's position and duration). Pick the columns, an empty border, the spacing between frames, the scale, and Apply pixel aspect; the dialog shows the sheet size. Layout: Grid or Packed — Grid puts every frame in an equal cell, row by row; Packed puts the frames close together in a near-square sheet. Trim empty edges removes the transparent edges (in a grid one crop box holds every frame; in a packed sheet each frame is cropped to its own pixels). Merge duplicate frames — frames that are the same use one place on the sheet. Apply CRT — when the CRT effect is on, each frame on the sheet is the CRT image (Trim is off then). With these options the JSON file (version 3) gives each frame its place on the sheet, where it goes on the canvas, and which frame it is the same as, so a game engine can rebuild every frame. Layout, Trim, and Merge are remembered. - Frame sequence (one PNG per frame) — one file per frame, in frame order, with the scale, Apply CRT, and Apply pixel aspect of the still export.
- Slices from every frame — on an animated project, Export slices now asks which frames: the current frame (as before), all frames, or one tag. All frames saves one PNG per slice per frame (native size, numbered like the frame sequence), and the JSON sidecar lists each slice's file and duration for every frame. Up to 512 PNGs in one export — for more, export a tag. Static layers are on every frame. Pro.
Each opens the share sheet with its files. The flattened and Layers exports of an animated project save the frame you see (the first frame on the free plan).
Duplicate a project — long-press a card in the gallery to select one or more
projects, then tap Duplicate. Each copy is a new project with the same layers,
frames, palette, guides, and settings, named like Cat-1. The copy does not get the
timelapse recording; it starts a new one. A bar under the tabs shows the progress. Free
and Pro.
Changed
- Undo for layers — adding, duplicating, and deleting a layer can now be undone, on every project.
- Eyedropper: picks colours from reference layers — in All visible and with a reference layer selected — and works on locked layers and read-only projects. A long-press no longer picks the dot the brush just painted.
- Reference layers: drag them with the Move tool — select a reference layer and the Move tool, then drag to put the reference where you need it. While you drag, the part outside the canvas shows faded. One undo puts it back. A locked or read-only reference tells you why it does not move.
- Reference layers: move, scale, and rotate them with a transform box — tap Transform on the reference bar, in the layer inspector, or in the row menu. Drag the corners to scale, the edges to stretch, the round handle to rotate (it snaps to 15° steps; turn Snap angle off in Options), and the centre dot to move the pivot. Type exact values in Options. Flip, ±90°, and Reset work inside the box. Done is one undo step. This works in Indexed projects too.
- Transform box handles follow the finger more exactly: the rotate handle turns by the angle you drag around the pivot, an edge handle ignores sideways motion, and the pivot dot stays under the finger when the image is scaled.
- Reference layers are now always clipped to the canvas, and look the same in playback as while you draw. With a selection active, the reference buttons stay visible, and the inspector buttons act on the reference row they are shown for.
- Paste lands where you are looking — a pasted image now appears at the centre of the view, not at the centre of the canvas, so you do not have to zoom out to find it. Near an edge it moves in just enough to stay fully on the canvas.
- Floating panels (inner foldable / tablet) — the palette lock is now in the Palette panel's title bar, right after its name. The Frames panel no longer jumps when you resize or collapse the Layers panel. A collapsed panel can be dragged left or right, and after you rotate the screen every panel stays on the screen.
- Less memory churn while an animation plays with the CRT effect on and while animations export — smoother on large canvases.
Fixed
- After Pro ended, the last unsaved edits of a project over the free limits (larger than 64×64, more than 3 layers, or with a tilemap) could be lost. They now save.
- Export layers on the free plan could upscale the files when the saved scale was not valid. It now stays at 1×.
- On the inner foldable / tablet screen, a collapsed floating panel now shows its name.
- CRT on an animation — while an animation played with the CRT effect on, the canvas showed only thin dark lines over the plain pixels, without the curved screen, glow, and mask. Playback now shows every frame with the full CRT effect, and reference layers stay on top as while you draw. On a very large canvas, or when the phone is low on memory, playback falls back to the quick preview. The quick preview's lines (while you draw) now sit on the same rows as the CRT image and move with the canvas.
0.0.25.1
Smoother drawing on large canvases — crash-report breadcrumbs searched the whole screen layout on every move of a stroke, so strokes on big projects (for example 1024 × 1024) stuttered. Only taps are recorded now, and drawing runs at about 60 fps.
0.0.25
Projects from a newer Dixel open read-only — a project saved by a newer version of Dixel now opens read-only, with a banner that asks you to update the app, instead of being silently downgraded. The gallery still lists it and Drive backup still copies it; a Drive restore of such a project is skipped until you update. Versions before 0.0.25 do not have this protection: do not open a project saved by a later version in an older app.
Tilemap export — the map JSON now lands in Documents/Dixel, next to the slices
JSON, instead of Downloads/Dixel. The sheet PNG still goes to Pictures/Dixel, and
the share sheet is unchanged.
0.0.24
Tilemaps go isometric. Build 2:1 diamond scenes and export them straight into an isometric map in Godot or Tiled. Tilemap editing stays Pro; nothing else changes.
Isometric tilemaps — a tilemap layer can now be isometric (the pixel-art 2:1
diamond convention), not just a square grid. In the + Tilemap layer dialog pick
Isometric and a 2:1 tile (e.g. 16×8 or 64×32); the map defaults to fill the canvas.
Draw paints straight on the diamond map — each stroke authors the tile under your
brush, repeats are shared, and undo, zoom, and every tool work as normal; a bold
diamond outline marks the cells. Place stamps tiles with Flip H / Flip V. Export
writes the sheet PNG plus a map JSON tagged "orientation": "isometric" — import the
sheet as an isometric TileSet in Godot (Tile Shape: Isometric) or Tiled (New Map
→ Isometric) and the map lines up. A tile whose pixels reach past its diamond (a tall
wall) is placed on the cell it lands on; floors and within-diamond art are exact. Pro.
0.0.23
Tilemaps arrive. Build a level or a scene from reusable tiles, edit a tile once and see every copy update, then export a sheet plus a map for your game engine. Tilemap editing is Pro; everything else in the app is unchanged.
Tilemap / tileset editing — add a tilemap layer from the Tileset panel (the bottom tab on a phone, a floating panel on the inner foldable / tablet screen) and pick a tile size (4–64 px). Draw mode paints pixels straight onto the map, and a fresh cell forks its own tile — identical tiles are merged automatically, so the set stays small. Place mode stamps a chosen tile with Flip H, Flip V, and Rotate 90° (square tiles); tile 0 is the empty tile, for erasing. Full undo / redo, and the whole map is saved in your project. Pro.
Export a tileset — Export tileset writes a sheet PNG to Pictures/Dixel
plus a map JSON (our dixel-tilemap format) to Downloads/Dixel, then shares both
through the Android share sheet, like the image, layer, and slice exports. The sheet
imports into Tiled, Godot, or Aseprite; the JSON describes the map for your own loader.
Sending it over a chat app? Attach it as a file, not a photo, so the PNG keeps its
transparency. Pro.
0.0.22
A big drawing-aids release: isometric and perspective guides, non-square pixels, slices / nine-slice export, keep-screen-awake, a tap-to-flash layer blink, and a timelapse that follows the pixel aspect ratio — plus the whole 0.0.21 batch and internal performance and memory improvements. Everything is free except upscaled export and slice export, which stay Pro.
Keep the screen awake — a new Settings ▸ Input toggle, Keep screen awake, stops the screen from dimming or locking while you have a drawing open, so studying the canvas or tracing a reference never trips the system screen timeout. It applies only in the editor — the gallery and Settings let the screen time out as usual — uses no extra permission, and is off by default. Free. It uses more battery while on.
Isometric guides — three aids for isometric pixel art, all free, using the pixel-art 2:1 convention (a ±1/2 slope, about 26.57°). An isometric grid overlay (a diamond grid, next to the pixel and tile grids in Grid settings); an isometric Line snap — the Line tool's new Off / Straight / Iso control locks a line to the 2:1 lattice for a clean staircase; and isometric canvas presets (32×16, 64×32, 128×64, 256×128) in the New-artwork dialog.
Perspective guides — construction guides for perspective drawing, all free, and a drawing aid only (they never change pixels). Pick a 1-, 2-, or 3-point setup: each vanishing point shows a ray fan, and 2/3-point adds a horizon line. Add up to 8 straight rulers, drag the vanishing-point and ruler handles in edit mode, and use the Line tool's new Persp snap to lock a line to the nearest ray or ruler. The Line snap is now Off / Straight / Iso / Persp.
Pixel aspect ratio — give a project non-square pixels for CRT-/arcade-style art (⋮ ▸ Pixel aspect…), all free. Pick a ratio like 1:1, 2:1, 1:2, 8:7 (NES), 5:4, or 4:3 (each side 1–8). You keep editing on a square grid — the ratio changes no pixel and no canvas size; only how the art is shown and exported changes. Export and the thumbnail carry the stretch by default (a crisp nearest-neighbour bake), with a one-tap native square pixels escape.
PAR-aware timelapse export — the timelapse video can carry the pixel aspect ratio too. On a non-1:1 project an Apply pixel aspect ratio checkbox appears on the Timelapse tab (ticked by default); the video then shows the same stretch as the image export. Untick it for a native square-pixel video. Free; recording is unchanged.
Slices / nine-slice — mark named rectangular regions on the canvas and export each as its own image for a game engine. Open ⋮ ▸ Slices…, turn on Edit slices on canvas, and drag to create, move, or resize; turn on 9-slice to set border insets for stretchable UI. The slices are a display-only overlay (they never change pixels) and stay aligned under view rotation and a non-square pixel aspect ratio. Export writes one PNG per slice (native pixels) plus a JSON sidecar with each slice's name, bounds, and 9-slice centre (Aseprite convention). Authoring is free; slice export is Pro.
Layer blink — tap a layer's row in the Layers panel and that layer fades out and back on the canvas over ~400 ms, so you can see which pixels it owns without toggling the eye icon. Free, a view aid only — it changes no pixels and never affects your export.
0.0.21
Everything here is free except upscaled exports, which stay a Pro feature.
Export scale presets — the Upscale control in Share is now a one-tap row of the power-of-two factors — 1×, 2×, 4×, 8×, 16× — with a Custom… menu for in-between factors, and Dixel remembers the factor you last exported at.
Export layers as separate files — a new What to export ▸ Layers as separate files mode writes one PNG per visible layer and shares them together. Each file holds that layer's raw pixels (no blend, opacity, or CRT baked in). PNG only; 1× is free, upscaling is Pro.
Merged sampling — the eyedropper gains a Sample: Active layer / All visible option, so you can pick the colour you actually see across every visible layer.
Selection refinements — Expand, Contract, Invert, and Select all for the current selection, on the selection gear and the context bar.
Gallery folders — a Move to folder action organizes your gallery: pick an existing folder, move projects back to the root, or create a new folder.
Rate Dixel — a gentle in-app rating prompt after an export, plus a Rate Dixel row in Settings.
0.0.20
A retro CRT effect (now on the timelapse too), canvas view rotation, a custom brush, a dither ink, per-tool brush memory, and smoother image importing. Everything here is free.
CRT effect
- Open ⋮ (more) ▸ CRT… for a retro CRT-screen look — scanlines, phosphor glow, a curved tube, an aperture/shadow mask, and a vignette — shown live over the whole canvas while you draw. It is a display effect and changes no pixels; turn it off and your art is untouched.
- Controls: Quality (Low / Med / High supersampling, limited automatically on large canvases), Scanlines, Line spacing, Curvature, Glow, Mask + strength, Vignette, and Reset.
- On export/share, an Apply CRT checkbox bakes the CRT look — on the exported image and now on the timelapse video too (both upscaled) — or keeps the clean sprite. In Indexed mode your indexed pixels are never changed.
Canvas view rotation
- Two-finger twist turns the view about your fingers, together with pinch-zoom and pan; let go near an upright angle and it snaps to 0/90/180/270°.
- Rotate view left / right and Reset buttons next to Fit (Options tab on a phone, left rail on a tablet); Fit to screen also returns the view upright.
- It rotates only how the artwork is shown — no pixel or file change, so the export and thumbnail are identical. A small degree read-out shows the live angle.
Custom brush
- Copy a pixel area, then stamp it. Select a region (or use a copied piece), pick the Custom brush, and drag to stamp that bitmap along the stroke — like "new brush from selection" in other editors.
- The stamp uses the copied pixels at their own size and colours, so the brush-size and opacity sliders don't change it.
Dither ink
- A Dither pencil that paints two colours at once — your active colour and a second colour — in a repeating ordered (Bayer) pattern, so from a distance they blend into an in-between shade.
- The pattern is anchored to the canvas, so re-touching the same pixels always lands on the same cell of the pattern. It uses the gradient tool's second-colour slot.
Per-tool brush memory
- Brush size and opacity now persist across closing the editor and restarting the app — before, they reset to 1 / 100 % every time.
- A new Settings ▸ Input toggle chooses per-tool (default) or global. Per-tool means each tool — Pencil, Eraser, Line, Rect, Ellipse, Bucket — remembers its own size and opacity, so a fat eraser and a 1-px pencil coexist without re-dragging the slider on every switch.
Open an image
- The Open image as project dialog now pre-fills the next free name when the photo's name is already taken, so you can pick a photo and tap Create without fixing a name clash by hand.
0.0.19
Find your place on a zoomed-in canvas with a minimap / navigator. Everything here is free.
Minimap / navigator
- A new Navigator toggle — the Options tab on a phone, the left rail on a tablet or foldable — shows a small panel with the whole image and a box around the part of the canvas on screen.
- The box tracks your view live as you pan and zoom, so you always know where you are.
- Tap or drag the panel to move the view there. It only pans (pinch still zooms) and never draws.
- The panel shows your committed artwork, like the gallery thumbnail — a screen-only aid, never in an export, a thumbnail, or the timelapse.
0.0.18
Bring outside art in, draw seamless patterns, and build your own palettes. Everything here is free.
Open an image
- Open image as a new project. On the gallery, tap the image button next to +, pick a PNG or JPG, and Dixel makes a project whose canvas is the image. Choose RGBA or Indexed, and optionally extract a palette from it.
- Import image as a layer. In the editor (the Options tab on a phone, the left rail on a tablet), the new import button adds the picked image as a normal, exportable artwork layer — separate from the trace-over reference button.
- Images that fit the canvas open 1:1; larger ones downscale once with nearest sampling, keeping the aspect ratio (so a photo is never squashed). Free downscales to 64×64 or offers Pro; everyone downscales at the 1024×1024 ceiling. An Indexed project asks how to handle the colours first, so no off-palette pixel is written.
Tiled / seamless mode
- A Tiled control (Off / Horizontal / Vertical / Both) with a live, dimmed repeat preview around the canvas. Strokes near an edge wrap to the opposite side. Saved per project.
Palette create & edit
- Create a palette from the + in the palette row (empty, from the current palette, or from the current colour). Edit swatches after unlocking with the lock icon — add, change, remove, and drag to reorder. Rename, duplicate, or delete a palette from a long-press. Built-ins fork on first edit, so the original is never changed. In an Indexed project, changing a colour recolours the pixels that used it in one undo.
Pressure sensitivity (stylus)
- Pressure → size and Pressure → opacity per-tool toggles for the Pencil and Eraser, plus a global master switch in Settings ▸ Input. The Eraser is now a soft eraser — the opacity slider sets how strongly it erases. Pressure is stylus-only; a finger draws at the slider values.
0.0.17
Palm rejection — Draw with stylus only. On a stylus device a resting hand no longer marks the canvas: only the S-Pen paints, while your fingers still pan, zoom, and undo. Everything here is free.
Added
- Draw with stylus only. A toggle in Settings ▸ Input and in the editor (the Options tab on a phone, the left rail on a tablet/foldable). When on, the S-Pen draws and a resting palm or finger is ignored — even mid-stroke — while two-finger pinch/pan, two-finger-tap undo, and three-finger-tap redo still work.
- Auto-detect, so you are never locked out. The mode stays off until the first S-Pen contact turns it on for the session; once you set the toggle, your choice wins. It is an app preference and never changes a file.
0.0.16
Fill tolerance and sampling source. The Bucket and the Color selection now share an option set, so both handle imported and anti-aliased art instead of only exact-colour matches. Everything here is free.
Added
- Tolerance (0–255) — 0 matches the exact colour only; higher values include similar colours. The match compares alpha, red, green, and blue, and two fully transparent pixels always count as equal.
- Mode — Contiguous (the area connected to your tap) or Global (every matching pixel on the canvas).
- Connect corners — grow through diagonal neighbours too (8-connected); contiguous mode only.
- Sample — Active layer or All visible (compare against the composite of every visible layer). The fill still paints the active layer.
- The options persist as app preferences, like brush size. A Bucket fill inside a selection stays inside it. Indexed projects still write palette colours. The defaults reproduce the previous exact-match behaviour.
0.0.15
Colour-adjustment filters and a dark theme.
Added
- Dark theme. A Theme setting — System, Light, or Dark — that applies live with no restart. Dark is a true-dark, OLED-friendly reskin that keeps the pixel look. Your artwork is never themed: exports and thumbnails are byte-identical in either theme.
- Adjust colours. A new Adjust colours… row in the ⋮ (more) menu ▸ Effects group, with four apply-once adjustments on the active layer or a selection: HSL, Bright/Contrast, Invert, and Grayscale. Each recolours only opaque pixels, keeps each pixel's alpha (safe under alpha lock), is one undo step over the changed area, and snaps to the palette in Indexed projects. The filters are free.
0.0.14
Canvas dimension tools. Change the canvas boundary itself — resize, crop to a selection, or trim to the artwork — without recreating the project, and each is a single undo step. Nothing is rescaled: pixels keep their exact colour, so all three are safe in Indexed projects. Everything here is free.
Added
- Resize canvas. Open the ⋮ (more) menu ▸ Canvas ▸ Resize canvas…, set
a new width and height, choose where the old pixels sit with a 3×3 anchor,
nudge them with an offset, and keep the ratio with Lock ratio. A live
old → newsummary shows the change. Growing pads with transparency; shrinking clips. - Crop to selection. Canvas ▸ Crop to selection sets the canvas to the selection's bounding box.
- Trim. Canvas ▸ Trim shrinks the canvas to the tight box of the visible artwork, removing transparent margins.
- All three are one undo step that restores every layer and the dimensions together, keep layer groups and reference layers, and stay on-palette in Indexed projects. Growing past the free size limit offers the Pro upgrade; a shrink that brings an over-limit project back within the free size is allowed. A resize restarts the timelapse from the new size.
See Tools ▸ Canvas size.
0.0.13
A large layer-editing and tools release: layer groups, multi-select, merge and flatten, a Text tool, colour-mode switching, and the Outline and Drop shadow effects. Everything here is free, and Indexed projects always stay on-palette (any conversion asks first).
Added
- Text tool. Add pixel-art text on a layer with a built-in font. Pick Text from the new More tools group in the tool rail, tap the canvas, type in the bar that appears, drag the box to position it, and set size and alignment from the tool gear. Placing it is a single undo step. It respects a selection and alpha-lock, and stays on-palette in Indexed projects.
- "More tools" group. Colour Replace, Shading, and Text share one expandable tool-rail button with a menu, so the rail stays short. One tap re-activates the last tool you used from the group.
- Layer groups (folders). Organize the layer stack into groups — create a group, group the active layer, ungroup, and drag layers in or out. A group's visibility and edit-lock apply to everything inside it. (Organizational first version — no group opacity or blend yet.)
- Group selected layers. In multi-select mode, wrap the selected layers into a new group in one action.
- Merge a group. Flatten a group and everything inside it into one layer, as a single undo step.
- Multi-select layers. A Select mode in the Layers panel to act on several layers at once — delete, show/hide, lock, set opacity or blend, and reorder as a block.
- Merge Down. Merge a layer into the one directly below it, from the Layers panel action strip or the layer row menu. The upper layer's opacity and blend bake in, and one undo restores both layers exactly.
- Flatten. Combine all visible layers into one from the ⋮ (more) menu ▸ Layer ▸ Flatten; hidden and reference layers are left untouched, and one undo restores every layer.
- Switch color mode. Convert a project between RGBA and Indexed from the ⋮ (more) menu ▸ Project ▸ Color mode. RGBA→Indexed asks you to pick a palette and warns before it changes colours; either direction is one undo step.
- Indexed palette help. In Indexed mode the colour picker shows which palette colour your pick snaps to, flags an off-palette colour, and offers a one-tap Add to palette.
- Outline effect. Add a border around the shapes on a layer. Open the ⋮ (more) menu, choose Effects ▸ Outline…, and pick a color, a thickness from 1 to 8 px, a placement (Outer, Inner, or Both), and 4-way or 8-way corners. It applies in place, respects a selection, and is a single undo step. On an alpha-locked layer only Inner is offered and it keeps each pixel's transparency. See Effects.
- Drop shadow effect. Choose Effects ▸ Drop shadow… to drop an offset, semi-transparent copy of the layer's silhouette onto a new layer below the artwork. Pick a color, an X/Y offset (−64 to 64 px), and opacity. Your original layer stays active. See Effects.
- A "more" menu in the editor top bar to hold the effects and project actions.
- Timelapse intro. Timelapse videos can open with the finished result held for about a second before the build-up plays.
Changed
- The eraser icon is now a recognizable block/rectangle shape.
0.0.12
This release adds a shading tool and round brush tips, and makes undo a single gesture.
Added
- Round and square brush tips. The Pencil and Eraser now have a Shape option in the tool gear: a square tip or a round one. Round is the default and gives the soft, circular tip most editors use for shading; Square keeps the classic blocky tip. Both look the same at very small sizes, and the round tip appears from size 4 up. Your choice is remembered.
- Shading ink. A new tool that shifts each pixel you touch one shade along a color ramp — darker or lighter — instead of painting the current color. Pick Darken or Lighten, and use the whole palette or a range you choose as the ramp. Each pixel steps one shade per stroke, and the ends clamp. It is great for quick highlights and shadows. See Tools.
Changed
- Undo is a single two-finger tap. Tap the canvas once with two fingers to undo, matching Pixquare. Before, undo needed a double two-finger tap. Redo is still a single three-finger tap.
Fixed
- The Eraser respects Alpha lock. On an alpha-locked layer the Eraser now makes no change, as the lock intends. Before, it could still clear locked pixels.
0.0.11
This release tidies the editor workspace and makes the tools easier to learn.
Added
- Tap to name a tool. Tap any tool or icon on the toolbars and its name appears at the top of the screen for a couple of seconds, then fades — a quick way to learn or remember what each icon does. The long-press tooltips still work too.
Changed
- Left toolbar reordered. Brush size and opacity come first, then undo, redo, and the mirror button, then the rest. Brush size now goes up to 32 px, and the toolbar scrolls if it does not fit.
- Panels stay out of the way. The palette panel opens clear of the left toolbar, and the layers panel opens clear of the right tools, so neither covers your controls on first open. Both are still draggable.
0.0.10
This release makes on-canvas transform quicker and more precise.
Changed
- Paste enters move mode right away. When you paste an image, the transform box and its handles appear at once, so you can drag the piece into place immediately — no separate step to start moving it.
- Transform snaps to the pixel grid. Move, scale, and rotate now stay locked to the canvas pixel grid: the box lands on whole pixels and shows exactly where the content will go, so placing a paste or a lifted selection is precise instead of drifting off the grid.
- Bigger, clearer handles. The transform handles are larger and easier to grab, and the selection outline is a touch bolder, so both are easier to see over your artwork.
0.0.9
This release adds grid overlays and on-canvas transform for pastes and selections, and it opens large projects with less memory.
Added
- Grid overlays. Turn on a pixel grid to see every pixel boundary when you zoom in, and a tile grid for sprite-sheet and tileset work. Set the tile size and offset per project, and pick the grid color. The grids are a view aid only, so they are never part of your export, thumbnail, or timelapse. Toggle them from the grid button on the left rail, or the Options tab on a phone.
- Move, scale, and rotate a paste or a selection. Paste an image, or lift a selection, and transform it right on the canvas with handles — drag to move, pull a corner to scale, and turn it to rotate. The result commits as one undo step.
- Eyedropper returns to your last tool. Pick a color with the eyedropper and Dixel switches back to the tool you were using, so you can keep drawing without a trip back to the ribbon. A tap that samples nothing keeps the eyedropper active for another try.
Faster
- Large projects open with less memory. Layer data streams into the canvas as it decodes, so opening a big project no longer spikes memory the way it did.
0.0.8
This release cleans up where tool settings live, and it adds symmetry drawing.
Added
- Tool settings gear. Tools that have their own settings now show a gear at the top of the tool ribbon. Right now that is the gradient, and more will follow. Tap the gear to show or hide the settings. On a tablet or the unfolded inner screen they open in a small panel in the top corner that you can close, and it starts closed, so it stays off your canvas until you want it. See Tool options.
- Symmetry. Mirror your strokes as you draw. You can mirror left and right, up and down, or all four ways at once, with the pencil, eraser, line, rectangle and ellipse. Set the mode and move the axis from the left rail on a tablet, or the Options tab on a phone, and reset it when you are done.
Changed
- The tool ribbon now scrolls, so you can reach every tool and the gear on the small outer screen.
- On phones the bottom panel is limited in height, so the canvas always keeps at least half the screen. The palette and layer lists scroll when space is tight.
0.0.7
Stability and performance release, focused on large projects.
Fixed
- Projects larger than about 700×700 px could not be opened; the app crashed on open every time. Layer data is now read in chunks, so a 1024×1024 project opens normally.
- Damaged or truncated project files show a clear message with a way back instead of crashing. The file is left untouched.
- Saving, autosave, export, import and layer edits no longer run on the drawing thread. If storage is full, the app shows a message and keeps your unsaved work instead of crashing.
- The Save button reports success only after the work is actually on disk.
- Large photos import as reference layers without freezing or running out of memory.
- Export size is capped and adapts to device memory.
- Colors with partial transparency now survive a save and reload exactly.
- Copying to the clipboard no longer leaves stray image files in your gallery.
Faster
- Drawing on many layers is much smoother, especially at 1024×1024.
- Projects open faster and the gallery loads in the background.
- Undo keeps many more steps for line, rectangle, ellipse, move and fill.
Limits
- Up to 4 reference layers and 4 floating reference images per project.
0.0.6
- Targets Android API 36 to meet Google Play's 2026 requirement.
0.0.5
- Import palettes from Lospec by slug or URL (Pro).
- Fixed a crash when switching tools mid-stroke.
- Fixed several upgrade prompts so Pro-only features explain themselves instead of failing quietly.