Your pixels, your workflow
Capture & convert for Chrome
EzPIX Insta opens a normal Chrome toolbar popup for page capture, local media and conversion. New media selects the entire image, keeps the background and uses Original colours by default. Collapse either left-side preview to give the other more room. Settings scroll on the right with one section expanded. Background controls include a source-image colour picker with circular magnification, tolerance and soft edges. Downloads work locally. Camera and screen sharing use a temporary local capture tab. RESET asks for confirmation. Open in Pixel studio automatically receives and opens your preview on the web canvas; replacing unsaved artwork still requires confirmation.
Chrome extension and store link - Extension privacy.
Large-workspace raw indexed PNG
Raw indexed PNG in the large inspector preserves the complete ordered palette, duplicate/unused entries and raw selected-layer/frame indices in the chosen rectangle, up to one megapixel and 5 MiB. It ignores selection holes, saved coverage, opacity and other layers; rendered Export PNG remains separate. PNG omits the editor clear role, so imports require choosing a zero-alpha slot or explicitly appending an unused transparent slot. An opaque full 256-slot table cannot add that role. Imports are reviewed replacements with a fresh history. Save the project to retain links, animation and masks.
Image / Grayscale editing policy prepares a persistent editing constraint with Apply/Discard and one Undo. Entry converts source cels, text and palette, including hidden RGB. New inks and supported copied artwork map to gray; unsupported coloured operations reject without changing artwork. Projects/workspaces retain the policy. Native/image exports omit the editing policy; keep an EzPix backup. Grayscale-policy storage remains RGBA; dedicated gray-channel storage and colour profiles remain open. Indexed storage is available separately in Indexed studio.
Image / Indexed cel exchange prepares exact indexed JSON and PNG from the active visible frame. Up to 256 RGBA slots preserve alpha without quantization. Indexed files can be reviewed and expanded into a matching-size new layer or linked cel with one Undo. Files retain slot identity; live editing remains RGBA. Keep the original indexed file and an EzPix project for editable backups.
Image / Indexed studio stores pixel indices and an ordered RGBA palette in editable projects. Enter exactly from plain raster source, then review slot edits, indexed drawing, selection paste, linked cels, frames and raw file exchange with Apply/Discard and one Undo. Main-canvas RGBA tools are disabled or reject unsupported changes while indexed. Workspace/recovery/library files retain indices; flattened exports bake pixels. Full indexed tool/native parity remains open.
RGBA inks and advanced brushes
The Colour panel has Primary ink and Secondary ink, an Alpha byte and a swap button. X swaps complete RGBA inks; D resets opaque black/white. RGB controls edit the selected ink. Eyedropper source chooses composite RGBA or raw selected-cel RGBA, including hidden RGB under alpha zero. Standard pencil, Fill, shapes and selection painting use the selected ink; Eraser still writes transparent black.
Advanced drawing configures an opt-in Pencil. Choose a mode, colours, tip, composition, alpha lock and path controls. Use brush settings enables it on the main canvas. Pointer release applies the visible stroke as one Undo; Escape, pointer cancellation and capture loss discard it. The staged path field can also Prepare and Apply a reviewed stroke. Closing a review keeps committed artwork unchanged. Each destination pixel is processed once per stroke, so overlapping dabs do not accumulate opacity.
Source-over composites encoded RGBA; Replace writes full RGBA. Alpha lock skips fully transparent destination pixels and preserves other alpha. Pixel-perfect removes one-pixel staircase corners; use it with a 1px tip. Stabilization averages recent anchors and can lag the pointer without release catch-up. Spacing skips connected samples and keeps the filtered endpoint. Wrap X/Y crosses canvas boundaries and wraps filter sampling. Mirror works with both standard and advanced tips.
Capture selection as brush copies original committed members, up to 32?32, preserving your pending selection. Resolve that preview before opening Advanced drawing. PNG stamp import/export and four named session slots stay local and clear on reload. Mask stamps use ink with stamp alpha; RGBA stamps use stored colours. Transparent stamp pixels skip unless replacement is enabled.
Dither places complete primary/secondary colours using a canvas-anchored 4?4 Bayer pattern. Density 0/100 means secondary/primary. Spray uses Density and Seed, without time or random state. Shade moves signed steps along the project palette from nearest RGB, with stable first-swatch ties. Blur averages an original-source 3?3 neighbourhood in premultiplied RGBA; sharpen clamps five times center RGB minus its four neighbours. Shade and sharpen preserve final alpha; blur can change it. All stroke modes use original-source samples and share linked-cel, lock, resource and Undo guards.
Advanced selections
Select a rectangle, then open Transform / Selection mask / Advanced selection. The method selector offers contiguous wand, global colour range, alpha range, polygon, freehand lasso, mask brush, shapes, morphology, enclosed holes and connected components. All work inside the original bounds on the raw selected cel. Wand tolerance is maximum channel difference from the seed, with RGB/RGBA and four/eight neighbours. Global range selects disconnected matches too. Alpha range includes both endpoints.
Click polygon vertices or drag a lasso/brush on the preview; editable x,y path pairs also support keyboard entry. Paths close automatically, with even-odd interiors and boundary pixel centers included. Brush stamps add or erase membership with square/round size 1-64. Choose replace, union, subtract, intersect or XOR, then Prepare and Use membership. Close discards only the stage. Path/work limits reject oversized operations before editing membership.
Morphology supports grow, shrink, inner border, open and close with radius 1-256. Four neighbours use Manhattan distance; eight use square distance. Outside the original bounds is unselected. Hole filling preserves regions connected to an edge. Component filtering keeps the largest component (first row-major tie), the selected seed component or an inclusive size range.
Undo membership and Redo membership retain 32 mask edits separately from artwork Undo. Four named session slots can be loaded into another selection with matching dimensions; reload clears them. Tighten membership bounds removes empty margins without moving artwork, and requires destination, size, rotation, flips and Copy to be at their identity values. Empty membership cannot be tightened.
Advanced selection also exports and stages imports of binary mask PNG: opaque white selects, opaque black excludes, and dimensions must match original bounds. Files contain membership only. Session Copy/Cut retains membership separately in memory. Paste selected members only preserves destination holes; it can use that session mask or a matching binary source mask PNG. Ordinary full-rectangle paste stays the default. Selected transparent pixels replace complete RGBA, while nonmembers leave the destination intact. All processing stays local.
Draw and navigate
Choose Pencil, Eraser or Fill, then drag on the canvas. Pencil and Eraser each remember a square or round tip and a size from 1 to 32 pixels. Use Size and the tip button in the context bar, or the small arrows beside the two tools. A stroke is one undo action; mirrors and canvas-edge clipping apply to the full footprint. Pick samples an opaque pixel. Mirror X draws across the vertical centre line; Mirror Y draws across the horizontal centre line. Fill affects only the connected region you tap.
Choose Pan to move a zoomed canvas with a mouse, finger or stylus. Hold and drag the middle mouse button anywhere in the canvas viewport to pan temporarily with any tool, including while a selection is pending. Releasing keeps your selected tool and artwork unchanged. Use the zoom controls to change magnification. Touch drawing uses one finger; pinch gestures are not supported yet. Scroll inside the canvas viewport; the workspace stays fixed.
Shared tilemap layers
Open Layers / Tilemap layers in the web inspector, in the web editor. Choose a raw RGBA source layer, set tile dimensions that divide the canvas and review Create tilemap from sprite. Select exact tiles and paint, fill, erase or pick map cells on the canvas, or use Cell X/Y and Use map tool. Maps are static across frames. Shared tile pixel edits and tile reorder/removal affect every map using the tileset; Apply/Cancel and Undo preserve control. Rasterize explicitly converts a map to ordinary pixels. Game tilemap export downloads Tiled JSON, exact atlas PNGs and the full editable project. The Tiled map contains static map layers only; map groups, enabled masks/effects, non-Normal blends, mixed tile sizes and output conversion require another export. Bounds are four shared sets, 256 total tiles, 1 MiB tile bytes and 65,536 total cells within the dense editor. Reviewed Tiled ZIP import supports finite maps with one inline PNG atlas, zero offsets and array cell data. Opacity rounds to the nearest byte. It adds shared static layers to a matching RGBA canvas as one Undo, preserving existing sprite art. External resources, groups, custom properties, animated/chunked maps and multiple-atlas imports reject. Indexed and large sparse maps remain separate work.
Arrange the workspace
The desktop inspector starts with Layers, Colour and Navigator stacked together. Each section scrolls independently. Use the panel tabs to focus one section, or the stack button to show all three again. Drag the divider beside the inspector to resize its width; drag the divider above Animation to resize timeline height. Focus a divider and use arrow keys, Shift for larger steps, or Home/End for its limits. View / Reset workspace layout restores defaults. This browser remembers your arrangement. On phones, the bottom Layers, Palette and Preview buttons open one inspector panel over the workspace.
Layer rows and frame buttons show artwork thumbnails. Arrow keys and Home/End navigate the focused layer or frame list. The timeline cel grid selects a layer and frame together; its arrow keys navigate both axes. Filled dots mark stored cel pixels, including invisible RGB; chain symbols mark linked cels. Choosing another cel still asks you to resolve a pending preview.
Layer blends and checked layers
Layers / Layer blend offers Normal, Multiply, Screen, Overlay, Darken, Lighten, Difference and Exclusion. Blend uses byte RGB channels and combines pixel alpha with layer opacity. Groups isolate their children from the outer backdrop, then apply group opacity once. The first child blends against transparency. Changes preserve raw cel bytes and are undoable. Merge requires both layers Normal; ungroup requires Normal descendant blends.
Check artwork rows independently of the active painting layer, then open Batch layers. Show/hide, lock/unlock, opacity, blend, duplicate, delete, group and move act across every frame as one Undo action. Duplicates keep internal linked cels but detach them from the original. Grouping requires contiguous sibling layers; moving requires siblings and keeps their order. Delete keeps at least one layer. Checkboxes are session controls and are not saved in the project. Painting still affects the active layer.
EzPix v11 saves blend metadata and reads older projects with Normal defaults. PNG, sprite sheets, clips and animation previews render blends. The bounded layered native codecs reject unsupported blend loss; PSD/ORA animation frames as flattened layers bake visible appearance with explicit structure and metadata loss warnings.
Starter projects
In the startup overlay or File / New sprite, choose Starter projects. Lantern has separate frame and flame layers; Orbit loop has three layers and four timed frames; Garden patch uses a rectangular canvas with soil and plants on separate layers. Choose a card and Open starter to begin editing a fresh copy. Opening uses the normal unsaved-work warning. Cancel, closing the overlay or a failed download leaves the existing canvas unchanged. Blank keeps the custom size and background workflow. Starter art is included with EzPix and processed locally.
Scale sprite
Image / Scale sprite changes artwork size across all layers and frames using nearest-neighbour sampling. Set width and height independently, then Prepare and review the selected frame before Apply. Output pixel centers choose the nearest source pixel; exact midpoint ties choose the right or bottom pixel. Whole RGBA pixels are copied without blending. Reducing size may omit details, including RGB beneath transparent pixels. Linked cels stay linked; one Undo restores the previous artwork and dimensions. Reference images and retained source pixels stay unchanged. Conversion recipe output dimensions follow the canvas; re-tuning regenerates from the original source.
Resize and crop the canvas
Image / Resize canvas changes canvas dimensions without scaling pixels. Set width/height, horizontal/vertical anchor and optional signed offsets. Positive offsets move artwork right or down; new space is transparent and outside pixels are clipped. Image / Crop canvas uses a rectangle in current canvas coordinates. Image / Crop to artwork bounds uses all stored artwork across every frame and layer, including hidden/locked layers and RGB beneath transparent pixels. References and retained source images do not set the bounds. An entirely empty document keeps its canvas.
Prepare previews the selected frame and reports clipping before Apply. All frames and layers use the same geometry; linked cels stay linked. References and original source pixels stay unchanged. Conversion recipe output dimensions follow the canvas; re-tuning still regenerates from source. Cancel preserves artwork, and one Undo restores the prior canvas and pixels. These operations do not resample artwork.
Adjust cel colours
Filter / HSL adjustment changes hue, saturation and lightness. Saturation and lightness add percentage points; grey starts at hue zero. Filter / Levels adjustment sets master RGB input black/white, gamma and output black/white. Gamma above 1 lightens midtones. Use Levels channel to edit Master RGB, Red, Green or Blue independently. Master maps to bytes first, then each channel maps those bytes. Switching keeps settings. Reset levels channel restores only the displayed channel; Reset all levels restores all four identities. Each channel uses whole input/output values 0-255 and gamma 0.1-10. Prepare validates all channels, including those not currently displayed.
Filter / Curves adjustment maps master RGB through 2-16 numbered points. Input endpoints stay at 0 and 255; edit outputs and interior inputs, then use Add curve point or Remove. Inputs must increase strictly; outputs can rise or fall. The graph joins points with straight segments. Use Curve channel to edit Master RGB, Red, Green or Blue independently. Master is applied first, then each channel. Switching channels keeps its points. Reset curve restores the displayed channel to identity. Added points use the current rounded mapping, so prepare again to review any change.
Filter / OKLCH adjustment changes perceptual hue, chroma and lightness. Hue offsets are whole degrees (-180 to 180); chroma adds hundredths (-40 to 40), and lightness adds percentage points (-100 to 100). Chroma is limited to 0-0.4 and lightness to 0-1. Grey starts at hue zero before the offset. Out-of-sRGB colours reduce chroma at fixed hue and lightness; this can soften saturated colours.
Filter / Remap cel to palette maps visible RGB to the nearest project swatch by squared encoded sRGB distance. Equal distances choose the first swatch; palette order matters. There is no dithering. The dialog shows the target swatches. Edit the project palette before opening it; mapping changes artwork, while the palette itself stays unchanged.
HSL, levels and curves work on encoded sRGB colour values. All six use the same staged workflow. Choose Prepare to inspect the selected frame, then Apply to change the selected cel. Linked cels change together; the preview shows the affected count. Alpha and RGB hidden beneath fully transparent pixels stay unchanged. Independent cels, palettes and reference images keep their values. One Undo restores the operation. Adjustments are baked into exported pixels.
Palette tools
Image / Palette usage audit counts exact RGB swatches in the selected stored cel. Nonzero alpha counts once; fully transparent pixels are excluded. Other layers, composite opacity and linked copies are not counted. It lists unused swatches and up to 16 outside-colour samples without changing anything.
Image / Colour ramp builds 2-32 steps between two six-digit hex colours. Steps interpolate encoded sRGB with nearest-byte rounding, including endpoints. Prepare previews the ramp; Append ramp to palette adds only new swatches after existing ones. It rejects more than 256 total colours. Artwork stays unchanged, and one Undo restores the palette.
Filter / Dither cel to palette adds an ordered 4x4 pattern at the canvas origin before nearest-swatch mapping. Strength is 0-100; zero uses nearest colour, while 100 shifts channels by up to 30 byte values. Exact existing palette colours and alpha stay unchanged. Prepare and Apply work like other colour adjustments; linked cels change together.
Image / Palette harmonies previews complementary (base, +180 degrees), analogous (base, -30, +30) or triadic (base, +120, +240) swatches from a six-digit RGB colour. Hue rotation preserves encoded RGB minimum and maximum; grey stays grey. Apply appends only new colours, up to 256 total.
Image / Sort palette stages hue, brightness or hex order in either direction. Grey has hue zero; brightness means the maximum encoded RGB channel. Ties keep their existing order. Sorting changes future nearest-colour tie choices while current artwork stays unchanged.
Image / Document palette audit counts usage across all layers and frames, including hidden and locked artwork. Linked buffers count once per layer. It excludes fully transparent RGB, references and retained conversion sources. Prepare palette changes previews unused-swatch removal; Remove unused swatches explicitly applies it. Used swatches keep their order. If none are used, the first swatch remains. One Undo restores any palette change.
Convert a local image
Choose Image / Import & convert image and open a PNG or JPEG, up to 20 MiB and 4 megapixels. Set the crop in source pixels and the output size. Nearest sampling keeps individual source pixels; Area average blends each output cell with transparency accounted for. Try original colours, an extracted palette, Pocket greens or the GlitchBong palette, with optional ordered dithering.
Previews run in a worker. Cancel preview stops the current job. Applying a result creates a new document and asks before replacing unsaved artwork. Re-tune retained source starts from the original image and recipe; it does not merge your manual edits into a new conversion.
Layers
Add a transparent layer or duplicate the selected layer. The top row draws on top. Select a layer before drawing, filling or erasing; hidden layers cannot be painted. Rename, show/hide, reorder and delete layers with undo. The last layer cannot be deleted. Pick samples the visible composite; previews and PNG exports combine visible layers with transparency.
Reviewed Aseprite rendering
Import & export offers an Aseprite import mode before you choose a file. Preserve supported editable structure keeps the existing strict native workflow. Render visible frames to one RGBA layer additionally accepts grayscale value/alpha, changing indexed palettes, cel opacity and z-order, clipped images and relocated linked cels. It bakes supported visible normal layers; hidden layers, locks, links, palette slot identity and transparent hidden RGB are lost. Timing, supported tags and static slices remain. Review differences before replacement and keep your original native file. Switching mode clears the staged file, including unfinished reads; choose the file again. Replacement starts a fresh document history. Groups, blends, tilemaps, profiles and animated/nine-patch slices remain unsupported.
Indexed canvas editing
Enter indexed storage in Image / Indexed studio. Open Indexed inks and brush settings above the main canvas to choose Primary and Secondary slots; duplicate colours remain separate slots. Pencil, Eraser, Fill, Line, Rectangle and Ellipse stage a preview. Rectangular Select supports linked index-aware move/copy, rotation, flips and nearest-neighbor scaling. Its Transform panel also copies or cuts the original rectangle to a local indexed buffer; Select / Paste indexed selection prepares matching-table data or files. Apply indexed canvas (or Enter) keeps it as one Undo; Cancel indexed canvas or Escape discards it. Finish previews before saving, changing frames or starting playback. Pick reads the selected raw cel slot. RGBA colour controls remain a separate colour bank.
Pencil and Eraser use square/circle tips, mirrors and optional wrapping. Indexed Pencil also offers ordered two-slot dither, forward slot shading, pixel-perfect cleanup and Keep alpha. Keep alpha skips transparent pixels and replacements with different alpha. Erasing needs the designated transparent slot. Exact-table indexed stamps are available in the brush settings. RGBA blending remains outside indexed drawing. Pen pressure can control discrete size in paint/dither/spray and density in dither/spray. Choose Linear, Soft or Firm response and a minimum percentage; size stays at least one pixel. Pressure never interpolates palette colours or alpha. Mouse, touch and keyboard use full pressure. Ink-mode changes reset pressure settings; actual stylus behavior still needs physical-device testing. Binary indexed selection masks are available in Transform / Selection mask, as described below.
Indexed studio / Transform flips, rotates or offsets the complete raw linked cel. Quarter turns need a square canvas; a non-wrapped offset clips pixels and needs transparency. Slots shows usage across unique source planes, including hidden art. Removal accepts only unused slots; cleanup preserves used duplicate slots and designated transparency. Review, Prepare and Apply make these changes atomic.
Files imports raw indexed JSON or non-interlaced 8-bit indexed PNG with its original palette order, duplicate/unused entries, alpha and index plane. It must match the existing document dimensions and complete ordered table. Packed, animated, custom-profiled or multi-transparent PNG needs ordinary RGBA import. Keep an EzPix project for structure.
Indexed document geometry and PNG
Image resize, crop, trim, scale, rotate and flip keep indexed planes, palette identity and links across all layers and frames, including locked artwork. New padding needs a transparent slot. Trim ignores that slot, including its hidden RGB, while retaining the palette table. Slices must be cleared first; references and original conversion source stay unchanged. Review the staged preview and clipping count before Apply; Undo restores dimensions and source data.
Image / Open indexed PNG opens a reviewed new document tab, with no replacement of the current artwork. The strict 8-bit palette PNG limits above apply; duplicate and unused slots remain. New documents have empty histories, and four open documents is the limit.
Local recovery
The website keeps one checkpoint in IndexedDB after changes settle. A saved message appears only after the storage transaction completes. Reloading offers Restore checkpoint or Keep this canvas; recovery never replaces artwork automatically. Download projects for backups: browser cleanup, private browsing and storage failures can remove local data.
Only one tab can write recovery. Other tabs can still edit and download; close the owning tab and reload to acquire recovery there. Clear local checkpoint removes the stored copy and pauses recovery until resumed. Recovery includes the original conversion source only while Include source is checked. Reference images are included independently of that option. Undo history is not recovered.
Shapes and selections
Line, Rectangle and Ellipse preview while you drag and commit on release as one undo action. Filled shapes fills rectangles and ellipses. Mirrors affect pencil and eraser only. A cancelled pointer gesture or Escape discards a shape preview.
Select defines a rectangle on the selected visible layer. Move its preview by dragging on the canvas, changing destination X/Y, or using arrows while the canvas is focused. Shift moves 10 pixels. Copy instead of move preserves the source; Flip selection X/Y reflects it. Apply selection commits one undo action; Cancel selection or Escape leaves artwork unchanged. Transparent pixels replace destination pixels, revealing layers underneath. Selections stay inside the canvas and cannot move across layers.
Apply or cancel a pending preview before changing layers, undoing, drawing another tool, or exporting artwork. Projects and recovery contain committed pixels, never an unfinished preview. On reload, a selection is not restored.
Palettes
Use the Colour inspector to pick saturation/brightness, adjust hue or enter six-digit hex and RGB values. Select a palette swatch, change the drawing colour, then Replace selected colour to edit it. Remove or move selected swatches left/right; the last swatch cannot be removed. Add the drawing colour, import/export an EzPix palette JSON file, or Grab visible colours to keep the 32 most frequent visible RGB colours. Palette files accept 1–256 six-digit hex colours, up to 16 KiB. Importing a palette changes swatches without recolouring pixels. Palette edits support undo and are stored in project files and local recovery. Reset palette restores the GlitchBong defaults. Import palette or Palette file formats opens staged exchange for EzPix JSON, GIMP GPL, JASC PAL, RIFF PAL, Adobe ACT, RGB ACO, normal RGB Adobe ASE and hex text. Preview and review differences before replacing swatches; applying is undoable and never recolours pixels. All files are bounded to 16 KiB and 256 entries. Names and palette grouping are omitted with review; duplicate RGB colours keep their first occurrence. Non-RGB spaces, spot/global ASE and transparent ACT are rejected. Adobe ASE swatches are different from Aseprite projects. Export palette remains the quick EzPix JSON backup.
Keyboard
Use B pencil, E eraser, F fill, I picker, H pan, L line, R rectangle, O ellipse or M select. Tool shortcuts work across the workspace while you are not typing or using a dialog. [ and ] decrease/increase pencil or eraser size. Ctrl/Cmd+Z undoes; Ctrl/Cmd+Shift+Z or Ctrl/Cmd+Y redoes. Ctrl/Cmd+S downloads the project, Ctrl/Cmd+O opens a project and Ctrl/Cmd+N opens New sprite. Focus the canvas for drawing keys: arrow keys move the pixel cursor; Space stamps the selected brush (or fills/picks). The keyboard cursor appears after a drawing key and clears when you leave the canvas or switch tools. For shapes and selection, Space sets the first corner, arrows set the second, then Space finishes. Enter applies a staged selection and Escape cancels previews. Tab reaches all controls.
Save and export
Download project saves editable RGBA pixels in a versioned .ezpix file. Open project replaces the canvas only after a warning if edits are unsaved. PNG keeps transparency; export scale enlarges pixels without smoothing.
Conversion projects can include the entire original source, including pixels outside the selected crop. Clear Include source if you want to omit it. The recipe remains, but re-tuning requires the source. Your original filename is not uploaded.
Indexed inks and stamps
On indexed documents, open Indexed inks and brush settings above the canvas. Choose primary/secondary slot IDs, ordered dither density and origin, signed shading steps, exact original-slot replacement, an explicit comma-separated slot ramp with clamp/wrap, or a seeded spray. Equal-looking palette entries remain separate slots. Spray and dither anchor to canvas coordinates; overlapping strokes sample each original destination once. Alpha lock requires the same original/new alpha and skips transparent destinations.
Indexed stamps capture a raw-cel rectangle up to 32 by 32 or load a local .ezindexed file with the identical ordered RGBA table and transparent role. Default transparent stamp slots leave holes; Paint transparent stamp slots explicitly replaces those destinations. The first footprint visit wins when stamps overlap. Mirror/wrap, spacing, stabilization and pixel-perfect paths use the existing shared integer geometry. Stamps/settings are session data and clear on reload. Palette changes may require a new stamp capture. Fill offers four/eight neighbours or whole-cel replacement of the seed slot. Settings lock while a canvas preview is pending; Apply commits one linked Undo, and Cancel keeps artwork. These tools never invent palette entries or interpolate RGBA colours.
Native project exchange
File / Import & export includes Aseprite & Piskel. Choose a local .ase, .aseprite or .piskel file, inspect the staged frames and any import differences, then Replace canvas with import. Cancelling or a failed import leaves the current artwork unchanged. Native input is limited to 16 MiB, 256 pixels per axis, 16 layers, 32 frames and 4 MiB of cel pixels.
Aseprite supports 32-bit RGBA and 8-bit indexed storage, top-level Normal image layers with visibility, opacity and pixel locks, per-frame timing, raw/zlib cels inside the canvas, matching-position linked cels, loop/once/reverse/ping-pong tags and static slice rectangles with signed local pivots. Indexed import/export retains the complete ordered RGBA slot table, duplicate/unused entries, transparent hidden RGB and index planes. Modern palettes take precedence over legacy packets. Tables must remain constant across indexed frames; additional zero-alpha slots reject. One fully opaque indexed background layer is supported; mixed background/transparency roles reject. Relocated linked cels become independent with review. Groups, grayscale, tilemaps, blends, cel opacity/z-index, external files and ICC/gamma profiles reject. Animated/nine-patch slices and unsupported tag repeat/direction combinations reject. Tag display colours, user data and palette organisation are omitted with review. Export writes raw full-canvas images and exact earlier-frame links. Aseprite files take their document name from the filename on import.
Piskel supports modelVersion 2, named layers, PNG chunks with frame layouts and one global FPS. Zero-opacity layers become hidden layers; partial layer or pixel alpha and hidden-frame sequences are rejected. Palette swatches and conversion sources are not stored in Piskel. Choose Piskel FPS, prepare the file and review the timing/metadata differences before downloading. This may change variable frame timing. Imported playback rates round to whole milliseconds. PNG chunks must be non-interlaced 8-bit RGB, RGBA or indexed images without custom profiles; remote URLs and animated PNGs are rejected.
Prepare Aseprite file or Prepare Piskel file creates a snapshot for review. Accept any reported export differences, then use the format download button. Changing the document or Piskel FPS invalidates the snapshot. Native files exclude undo history and conversion sources; keep an EzPix project as your editable backup. PSD and OpenRaster exchange flat normal RGBA layers, names, order, visibility and layer opacity. Choose selected frame with layers or animation frames as flattened layers; both discard timing, palette swatches, conversion sources and edit locks with review. PSD accepts 8-bit RGB/RGBA raw or PackBits layers wholly inside the canvas; groups, clipping, masks, effects, custom profiles and unknown features fail. ORA accepts one flat stack of full-canvas PNG layers at offset zero, up to 40 ZIP entries and 8 MiB total expansion. Unsafe paths, duplicate entries, invalid CRCs, DTDs, unsupported XML and excessive expansion fail. Full native-feature compatibility remains later work.
Chrome capture
The EzPIX Insta Chrome extension captures a visible region, element or page after your toolbar action, then offers the same conversion controls. Open in Pixel studio automatically receives, validates and opens the converted preview as a new document. If replacing unsaved artwork, confirm first; declining preserves your canvas and keeps the transfer available. After declining, choose an added layer in the current frame, visible colours added to the palette, a display-only reference, or a new document, then import. Invalid or expired transfers leave your artwork unchanged. Layer import needs matching dimensions and makes blank cels in other frames. References join the bounded display-only collection: they are saved in projects and recovery, but excluded from image/native exports. Manage them through View / Reference images. Downloading and opening a project is the fallback if messaging fails.
Only visible pixels are captured; hidden portions of elements and offscreen frames are excluded. Browser and protected pages may refuse capture. Use references you have permission to reuse.
Layer controls
Lock layer pixels prevents drawing, fill, selections and finishing changes on that layer. Layer opacity affects every frame without changing the stored RGBA bytes; PNG, sheets and tile extraction use the resulting composite. Merge layer down combines the two visible unlocked layers across all frames as one undo action. Opacity is baked into pixels when merging. Group selected layer wraps the active layer; Group selected group wraps a branch. Groups have inherited visibility/locks and isolated normal opacity, applied after their children composite. Group controls can rename, reparent, move, collapse or delete a subtree. Canvas target names the drawing layer while group properties are inspected. Groups must keep a layer; ungroup before moving or deleting their final child. Ungroup requires visible, unlocked, 100% opacity. Up to 16 groups and four nesting levels; no extra cel pixels are allocated for groups. Blend modes, pass-through and masks remain later work. v6 projects and local recovery preserve groups, locks and opacity; v1-v5 readers are retained. Aseprite retains normal layer opacity and pixel locks. Piskel rejects partial layer opacity and omits edit locks with review.
Animation
Use the Animation timeline to add, duplicate, delete or reorder frames. Frame duration accepts 20-5000 whole milliseconds. Playback loops from the selected frame, leaves the editing selection unchanged and stops when the tab is hidden. Stop playback before editing. Layer properties apply across every frame; painting affects the selected frame and layer. Projects support up to 32 frames within a 4 MiB cel-pixel budget. Project downloads and local recovery keep all frames; PNG exports only the selected frame. Onion skin shows previous-frame red and next-frame blue ghosts behind current artwork, with adjustable opacity and no wrapping at timeline ends. Ghosts are display-only and never exported or recovered.
Rotate, flip and scale
Image / Rotate sprite offers exact 90-degree clockwise, counterclockwise and 180-degree turns across all layers and frames. Quarter turns swap canvas dimensions. Image / Flip sprite mirrors horizontally or vertically. Prepare, review the selected frame, then Apply; cancelling keeps artwork unchanged. Whole RGBA pixels, hidden artwork and linked cels are retained, with one Undo. References and retained conversion sources keep their orientation.
For a rectangular selection, open Transform in the pending-preview bar. Set rotation, width/height, flips and destination. Operations rotate clockwise first, sample to the requested size with pixel-center nearest neighbour, then flip along output axes. Sampling ties choose right/bottom; reducing may omit detail. The result must fit inside the canvas, and growing or rotating clamps its destination. Move clears the old rectangle before writing the destination; Copy retains the old pixels outside the destination. Transparent pixels replace destination pixels too. Apply changes the selected cel and its linked frames as one Undo; Cancel preserves committed artwork. Arbitrary angles, masks, shear and perspective remain future work.
Fill or stroke a rectangular selection
Select a rectangle, then choose Select / Fill original rectangle or Stroke original rectangle, or use those buttons under Transform. The dialog always uses the original rectangle. Closing keeps the pending transform preview; Apply replaces it with paint on the original committed cel. Set Red, Green, Blue and Alpha to whole bytes from 0 to 255, Prepare, inspect the selected-frame composite, then Apply. Settings changes invalidate the stage; identical output disables Apply.
Fill replaces every pixel in the rectangle. Stroke draws square corners entirely inside it, with thickness 1-256 pixels measured inward. Overlapping bands fill the rectangle. Both replace full RGBA without blending: alpha 0 retains the chosen hidden RGB; use RGBA 0,0,0,0 to erase completely. Only the editable cel and its linked frames change. One Undo restores exact artwork; independent frames, other layers, source, recipe and references stay intact. These tools use rectangles, without free-form masks or outside strokes.
Selection layers, clearing and downloads
Select a rectangle, then use Select or Transform to Copy original rectangle to layer, Cut original rectangle to layer, Clear original rectangle, Export original rectangle PNG, or Export original rectangle project. Prepare and review before Apply or Download. These actions use original committed pixels and rectangle, ignoring pending move/rotate/scale settings. Close returns to that pending preview. Copy/cut/clear consume it only on Apply; downloads keep it intact.
Copy creates a layer above the source, inherits its group and opacity, and copies only the selected frame. Other destination frames are separate empty cels. Cut clears the selected source cel and its linked frames and links the same destination frames, preserving the composite. Other frames stay independent. Clear writes zero RGBA, including hidden RGB, on selected/linked cels. All three support one Undo; empty copy/cut still creates a reviewed layer.
Selection PNG is a tight crop of raw selected-cel RGBA, retaining partial alpha and hidden RGB exactly in the file. Other layers, group/layer opacity, references and source are excluded. The cropped EzPix project has one independent layer/frame with exact pixels, palette, layer name and frame duration. It excludes groups, tags, other layers/frames, source/recipe, references and undo, and uses 100% layer opacity. Both downloads preserve the current project; no clipboard or cross-file paste is required.
Paste projects and session copy/cut
Select / Paste EzPix artwork loads a local .ezpix file (up to 24 MiB), with the existing bounded v1-v11 readers. Cropped selection mode requires one layer and frame. Choose project mode to select a raw source layer/frame from a larger project. Set destination, X/Y and name, Prepare and inspect the resulting selected-frame composite, then Apply. The full source must fit; no pixels are clipped or resampled. Close and failed preparation preserve artwork. Pending drawing/selection previews require an explicit Apply/discard/Keep editing choice before paste.
New layer uses 100% opacity in the selected destination group and contains artwork only in the selected frame; other frames are separate empty cels. Current cel replaces full RGBA on it and its linked frames, including transparent pixels. Independent frames stay intact. Paste ignores source palette, timing, opacity/groups, tags, references and conversion source/recipe; target palette/timing/metadata stay unchanged. One Undo restores the previous artwork.
Copy/Cut original rectangle to session buffer stores one cropped independent RGBA project in memory, with palette, layer name and duration. Copy leaves artwork and pending transforms intact. Cut clears the original rectangle on selected/linked source cels as one Undo; independent frames stay intact. Undo restores art while the buffer retains copied content. Paste session buffer uses the same staged paste workflow. The buffer survives replacing a project while this editor stays open, but Clear session buffer or reload/navigation removes it. It is not the system clipboard and is not saved with projects or recovery.
Masked actions and membership
Draw a selection rectangle and open Transform / Selection mask. Clear mask membership empties it; Mirror mask X/Y and Rotate mask 180 rearrange membership within the original bounds. Shift mask left/right/up/down moves membership by one pixel, clips edge pixels and fills the opposite edge with unselected pixels. These controls keep artwork and the pending transform unchanged.
Copy/cut to layer, Clear original mask, PNG/project selection export and session Copy/Cut use original committed members only. Other pixels, holes and independent frames stay intact when clearing or cutting. Linked source cels change together. Exports and session buffers retain original rectangle dimensions, with nonmembers set to transparent black. They contain raw RGBA without source opacity, references or conversion source. Mask membership is not stored in these files or buffers: pasting replaces the full rectangle, including its transparent holes. Prepare and Close preserve your pending transform; mutation Apply or Cut consumes it. Copy/export leaves it pending. Empty-mask Clear is a no-op; explicitly copying/cutting to a new layer still creates an undoable empty layer.
Selection masks
Select a rectangle and open Transform / Selection mask. Ellipse and Diamond replace membership; Reset rectangular mask selects all of the original bounds. Invert complements membership inside those bounds. Grow and Shrink apply one simultaneous pixel step using four direct neighbours; Border keeps the inner edge. Outside the bounds counts as unselected. Rectangle Union, Subtract, Intersect and XOR use whole local coordinates inside the original selection.
The blue overlay and selected-pixel count show membership. Mask edits preserve your pending destination, copy, rotation, flip and nearest scaling settings. Apply moves or copies only selected complete RGBA pixels, including transparent ones, as one Undo on selected and linked cels. Unselected destination pixels stay intact. Empty masks do nothing. Cancel discards the transient mask; masks are not saved in projects or checkpoints. Fill, inner Stroke and all eight selection colour edits now respect the original mask. Copy/cut, clear, buffer and selection exports also respect the original mask. Export/buffer holes become zero RGBA; later paste replaces the full rectangle. Lasso, wand, feathering and mask painting remain later work.
Masked selection paint and colour edits
Fill original mask replaces only original members. Stroke original mask draws inward along both outer and hole boundaries: thickness is four-neighbour distance to the nearest unselected pixel or outside the original bounds. Diagonal-only adjacency counts as two steps. Narrow features may fill completely. Neither operation edits unselected pixels, and transparent paint writes complete RGBA including hidden RGB.
Select a rectangle, then use Select or Transform for Linear selection gradient, Dithered selection gradient, Radial selection gradient, Checker selection fill, Replace selection RGBA, Grayscale selection, Invert selection RGB or Scale selection alpha. Prepare and Close preserve the pending transform. Apply edits only original mask members inside the original bounds on selected/linked cels as one Undo; exterior pixels, independent frames and metadata stay intact. Edit any setting or swap endpoints to invalidate the preview.
Linear gradients interpolate straight encoded RGBA between inclusive endpoints, with nearest-byte upward half ties; a one-pixel axis uses start. Dithered gradients select whole endpoints with a fixed 4x4 Bayer threshold anchored at the rectangle origin. Radial uses squared normalized elliptical distance from rectangle center, clamped at the ellipse boundary; even rectangles have no exact center pixel. Checker uses independent cell width/height 1-256 and the same local origin. These fills replace complete RGBA without blending.
Replace matches all four RGBA bytes exactly, including hidden RGB and alpha. Grayscale uses integer weights 77/150/29 divided by 256 with nearest rounding; inversion writes 255 minus RGB. Both preserve alpha and transform hidden RGB too. Alpha scaling accepts 0-200 percent, rounds upward at half ties and clamps at 255; RGB stays exact even at alpha zero. These baked edits respect binary masks; gradient and checker coordinates stay anchored to the original rectangle even for disconnected members or holes. They do not change the document colour mode or create an effect stack. Projects/native raw output preserve stored bytes; canvas previews and legacy PNG exports can round partial-alpha RGB or discard hidden RGB.
Sprite sheets
Prepare sprite sheet combines visible layers of every frame in timeline order into untrimmed cells. Choose columns, integer scale 1-8, and padding/spacing 0-32 source pixels before scaling. Sheet output is bounded to 4096 per axis and 4 megapixels. Download PNG and JSON separately. The EzPix JSON sidecar records exported-pixel rectangles, native source dimensions, scale and frame durations. Editing or changing layout invalidates the prepared snapshot.
Import sprite sheet opens PNG/JPEG locally. Choose either an exact uniform grid or matching EzPix sheet JSON v1, then Preview sheet frames. Inspect each frame and choose Import as new project; unsaved replacement warnings still apply. Import flattens each frame to one layer and does not recover hidden pixels, original layers, palette metadata or conversion sources. Grid width/height, padding and spacing are measured before integer scale; the full sheet must fit exactly. Blank cells are retained within the requested frame count. Scales above 1 require identical repeated pixel blocks; use scale 1 for ordinary sheets. JSON cannot fetch an image or URL. Match the image/JSON pair yourself and inspect the preview.
Clear staged sheet releases the selected image, JSON and frame preview without changing current art. Sidecars are limited to 64 KiB, images to 20 MiB and 4 megapixels, imported projects to 32 frames and 4 MiB cel pixels. JPEG loses transparency and may alter colours. Browser PNG canvas processing can round RGB channels of partly transparent pixels; pure core sheet operations preserve their input bytes. Sprite sheets are static PNGs. GIF import/export and APNG export use separate workflows. External sidecars, automatic sheet trimming and native engine importers remain unsupported.
Fast starts and finishing
Both the website converter and Chrome companion offer Clean sprite (64-pixel long edge, 16 colours), Tiny icon (32, 8 colours), Photo dither (128, 32 colours), and Centered tile 16 (square crop, 16 by 16). Presets change only the preview until you apply. Trim transparent edges uses actual alpha bounds of the whole source; it does not identify subjects or remove opaque backgrounds. Use Full image to restore the crop.
Add 1px outline uses the drawing colour around opaque pixels of the selected visible layer/frame, inside the current canvas. Remove stray pixels deletes pixels with no neighbour among the surrounding eight positions. These helpers may remove intentional dots; one undo restores them. Apply or cancel selections first. They never generate new poses or interpret a photograph.
Tile workspace
Open the tile workspace to build maps with original starter tiles, reusable cells from an exact PNG/JPEG grid, or small sprite-project frames. Merge identical tiles reduces repeat assets without changing their visible pixels. Choose a tile and stamp, fill connected cells or erase. A drag is one undo action. Arrow keys move the cursor; Space uses the current tool.
Room outline, Checker starter, Fill map and Clear map replace cells as a single undoable action. Applying another tileset creates a new map with an unsaved-work warning. Tile projects use separate .eztiles files and a separate local checkpoint from sprite art. Map PNG, atlas PNG and map JSON are separate exports; the JSON uses row-major tile indices, -1 for empty cells and atlas columns. This is not an engine importer. Limits are 64 unique tiles of 1-64 pixels per axis, 64 by 64 map cells and 4 megapixels output. Keep project downloads for backup.
Commands and Studio
Open Commands or press Ctrl/Command+K to search tools and editor actions. Configure shortcuts lets you edit bindings, check conflicts, reset, or import/export a small JSON settings file. Mod means Ctrl on Windows/Linux and Command on macOS. Save shortcuts keeps them on this device; tool/edit shortcuts are inactive while typing or using dialogs. A Mod binding for Save still downloads your project from a focused field outside dialogs.
The Studio menu offers polygon and quadratic/cubic Bezier drawing, RGBA gradients, free rotation, shear, perspective warp, seamless offsets, contours, cast shadows and alpha morphology. Geometry offers direct canvas handles and numeric point controls. Choose layers and an inclusive frame range, prepare a preview, then Apply for one Undo. Rotation, shear and perspective keep the canvas dimensions and may clip artwork. Raster operations preserve linked peers, including frames outside the requested range; the preview reports them. References and original conversion sources are preserved.
Bulk cel editing clears, copies the active-frame source of each layer source to targets, or unlinks selected cels. Copy detaches targets from unselected peers; clear keeps existing links; unlink makes each target independent. Animation retiming sets milliseconds or scales durations. Sequencing reverses, repeats, or appends the reversed interior for ping-pong. Appended cels link to their originals. Tags remain positional during reversal and expand or shift on insertion. Onion settings offers separate previous/next colours, up to eight frames each direction, opacity, falloff and wrapping. Ghosts are display-only and never enter saved artwork.
Soft selections and transform tweening
Select / Soft selection studio opens a separate full-canvas coverage mask, or starts from original pending binary membership. Coverage is 0-255 and stays outside saved projects. Coverage builds shapes, feathers, combines, inverts or changes levels. Mask brush supports pointer strokes and x,y path entry, tip, hardness, opacity and add/erase/replace. Coverage Undo is separate from artwork Undo; cancellation restores the pre-stroke mask.
Mask files exchanges opaque grayscale coverage PNGs at exact canvas size and four session slots. These files are distinct from binary black/white membership PNGs. Artwork stages weighted fill/erase/alpha, affine transforms with pivots and nearest/bilinear sampling, convex perspective, or existing filters through coverage. Copy retains original outside destination. Move clears weighted source first; overlapping soft moves can reduce alpha. Identity affine transforms preserve exact bytes. Closing discards the review; Apply resolves the original pending selection and makes one artwork Undo.
Extract downloads the raw selected cel with coverage multiplied into alpha, optionally tight cropped. Extracted projects contain one layer/frame and palette; they omit source, references, tags and history. Studio / Baked transform tween replaces a chosen existing frame range from its first frame, with angle, uniform scale, translation, easing, pivot and sampling. Each target becomes independent; linked peers outside the range stay intact. This creates baked frames, not live keyframes.
Pressure, text and baked filters
Advanced drawing offers pressure size/opacity response for paint, dither and spray, with linear, soft or firm curves and a minimum response percentage. Pen events supply pressure; mouse, touch and keyboard use full pressure. Custom stamps keep their dimensions. The numeric path accepts x,y or x,y,pressure pairs with pressure 0-1. Physical pen compatibility still needs device testing.
Studio / Bitmap text bakes an original 3x5 font: Latin letters, digits, spaces, newlines and !?.,:-+/(). Choose origin, scale, letter spacing and RGBA. Studio / Isometric construction draws 2:1 diamond outlines, grids or wireframe boxes, with origin, scale, extent, height and two colours. These become pixels when applied.
Free rotation and shear offer a custom pixel pivot. Rotation, shear and perspective offer nearest or premultiplied bilinear sampling; bilinear can soften edges. The canvas stays fixed and clips output. Studio also offers centered/trailing motion blur, average/nearest mosaic blocks, RGB/luma/alpha posterization, Sobel/Laplacian/emboss edge filters and seeded mono/RGB/salt noise. Each operation targets chosen layers and a frame range, prepares a review, and applies as one Undo. These filters are baked; they do not create live effects or adjustment layers.
Direct canvas tools and split preview
Search Commands for Canvas polygon, curve, gradient, rotate, shear, perspective, offset or guides. Click to place controls and drag a handle to edit it. Curve controls chooses quadratic or cubic. RGBA inks and target layers/frames are in the canvas tool controls. The preview stays editable after releasing the pointer; Apply or Enter makes one Undo. Escape or Close canvas tools discards it. Save and project changes offer Apply, Discard or Keep editing while a stage is pending.
Focus the direct canvas: arrows move a handle or cursor, Shift moves ten steps, Space places another point and Delete removes a selected control. Handle buttons select a point for keyboard editing. Nudges use the grid step and bypass guide attraction. Incomplete, singular or invalid operations cannot Apply. Geometry keeps canvas dimensions and can clip output.
Canvas guides adds bounded vertical/horizontal pixel guides, rulers, grid snapping, tolerance and optional edge/centre snapping. Hidden guides can still snap. Drag a guide or remove it with its button. Guides and rulers stay in this tab as view state and never enter exported pixels. Split preview gives the same document an independent pan/zoom view, raw active-cel or composite source, staged-preview toggle and 3x3 repeat. It is read-only. Views stack on narrow screens; hide the timeline in View for more canvas room.
Layer masks, live effects and cel ranges
Layer / Layer studio (also in Commands) edits a persistent grayscale mask for the active layer, separate from transient selections. White reveals, black hides and gray scales alpha. Construct from white, black, raw alpha or shapes; feather, level, invert or paint the draft. Pointer cancellation or Escape restores the current stroke. Draft Undo is separate. Prepare shows the final composite; Apply saves the mask in one artwork Undo across all frames. Exact-canvas opaque grayscale RGB PNG import/export is available, up to 1 MiB input. Canvas geometry remaps masks with raw artwork; padding becomes black.
Mask transform shifts, flips or quarter-turns the stored mask on the fixed canvas. Enable, disable, remove or bake a mask explicitly. Live effects offers up to eight ordered colour and spatial effects: invert, grayscale, brightness, contrast, alpha, posterize, mosaic and blur. Raw cels remain editable. The stack renders before the mask, layer opacity and blend. Reorder, disable or remove effects, then Prepare and Apply. Bake stored effects processes every distinct linked cel, clears the stack and retains the mask; bake effects before baking the mask. Native layered exports require baking; flattened PSD/ORA frames and clips preserve the visible result.
Cel transfer copies or moves raw RGBA rectangles from checked layers and a frame range to consecutive destination layers/frames. Check order sets the layer mapping. Complete rectangles must fit; transparent source pixels also replace destinations. Overlapping moves read the original source. Holds and cels explicitly links the first cel through the range, unlinks each target, or clears the range. Both require review and one Undo; outside linked peers stay unchanged. These are numeric range workflows; direct timeline grid dragging and implicit missing-cel holds remain future work.
View / Reference images offers staged rotation, flips, nearest scaling and crop of stored reference pixels, with Undo. These display-only pixels never enter artwork exports. Reference placement/tracing overlays, adjustment layers, editable text and live keyframes remain future work.
Current limits
Up to 32 frames and 16 layers within a 4 MiB cel budget, dimensions 1–256 per axis. At most 100 undo gestures with an estimated 8 MiB history budget; older history can be evicted. A saved project excludes undo history. v12 .ezpix files are plain JSON with ordered layers and a 24 MiB input limit; v1-v12 files remain readable. Unknown versions and malformed data are rejected. Extension handoffs have a separate 16 MiB limit and expire after 10 minutes.
Appearance and privacy
Use View to choose Light, Dark or System. New users start in Light. The website and extension store their preferences separately on this device. EzPix does not upload artwork, use AI or require an account. Website artwork remains in memory and, when recovery is active, in one bounded local checkpoint. Saved clips stay in a separate browser-local library until removed or browser data is cleared. Project backups do not include library entries; download .ezclip files for those backups. There is no cloud sync. Extension captures and pending handoffs are held locally in IndexedDB for up to 10 minutes, with an explicit clear action. Imported artwork in an open tab remains until you close or replace it.
The surrounding GlitchBong site uses its existing site analytics; EzPix does not pass artwork, captures or project names to them.
Focus studio and large canvases
Open Focus studio at the top right for local image, camera-photo or short-video assets. New media previews the entire image with Keep background. Optionally select a smaller area or trace an outline; Select entire image restores the full rectangle. Choose pixel dimensions, palette, colour count and dither, then inspect the preview. Video is capped at 8 seconds and 32 MiB, with at most 32 sampled frames. Follow motion uses local colour matching; it cannot invent poses or reliably separate every background. Download PNG, APNG, GIF, a sprite sheet ZIP or an editable project, or explicitly open the result in the editor.
Canvases above 256px use the sparse tiled workspace, up to 10240 x 10240: eight RGBA or indexed layers, 32 timed frames, linked cels, drawing, bounded selections/transforms, image placement, geometry and Undo/Redo. Saved layer masks keep static or animated 8-bit coverage; transient selection and artwork cel links are separate. Reveal/hide, gradients, coverage adjustments, strokes, feathering, transforms and grayscale PNG are reviewed before Apply. White reveals, black hides and gray changes opacity; outside coverage controls pixels beyond the mask window. Coverage files keep mask origin and settings; four session slots clear when the editor is replaced. Mask-to-selection uses only its bounded window. Tiled v5 projects read v1-v5; recovery is separate and asks before Restore. PNG and frame ZIP render each frame with its saved coverage. Mask animation reviews enable/static conversion, mask links, independent or linked range copy, clear, levels and duration-weighted coverage tween. Blank frames are unmasked; duplicates copy independently. Static conversion keeps the selected mask only. Tween endpoints must share their window and enabled flag. Mask Bake and Open as sprite explicitly review alpha baking and editable-mask loss, with existing capacity limits. Artwork retains at most 1024 unique tiles (16 MiB RGBA or 4 MiB indexed); saved masks retain at most 8 MiB of logical coverage across 256 references; each mask/selection window is at most one megapixel. These are bounded tools, not unrestricted maximum-size raster storage. Indexed tiled mode stores exact palette slots, including duplicate colours, unused entries and transparent hidden RGB. Indexed colour reviews exact mode conversion, palette changes and implicit background changes; drawing uses the selected slot and eraser uses its transparent role. PNG and frame ZIP render RGBA. Indexed transforms/clipboard and raw indexed PNG are available in their reviewed inspector controls. Broader indexed native exchange and live/text parity remain separate; review RGBA conversion to use RGBA-only tools. Save project files for backups. Twelve editable starters offer different art and animation exercises.
Import & export also accepts JPEG, static WebP and restricted self-contained SVG. JPEG/WebP output exports the selected composite frame with explicit loss review. JPEG uses a white matte; neither output stores layers or animation. Existing native formats retain their documented subsets.
Companion setup
Check your companion
Install EzPIX Insta from the Chrome Web Store. Invoke capture from the extension toolbar. The website cannot start capture on another tab. Download/open an .ezpix project if direct transfer is unavailable.
Install the published EzPIX Insta extension using the store link above. For local development, run npm run build:extension in the companion repository, open chrome://extensions, enable Developer mode and load dist/extension-dev. That build targets http://localhost:3791; dist/extension targets glitchbong.com. Pin EzPix in the toolbar, capture a region or element, then use Open in Pixel studio. The preview opens automatically; confirm only when replacing unsaved artwork.
Authored layers and tracing
Commands opens Reference placement and tracing, Editable bitmap text layers, Adjustment layers and group effects, Palette groups and locks, or Sprite slices and pivots. Authored studio stages changes with Prepare, Apply and Discard. Reference overlays position and scale retained images above or behind artwork; they never enter artwork exports. Text uses an original 3 by 5 bitmap alphabet shared across frames. Rasterize text before painting its cels. Adjustment layers filter preceding siblings inside their isolated group; group effects process the child composite. Flatten requires an explicit loss acknowledgment and bakes visible frames into one layer.
Palette groups organize slot indices. Locked slots refuse replacement or removal; moving a slot keeps its group and lock identity. Palette edits do not recolour artwork. Slices store named canvas rectangles and relative pivots, including pivots outside their rectangle. Canvas geometry requires clearing slices and rasterizing or flattening special layers first. Project download preserves these fields; RGB-only palette files omit groups and locks.
GIF, BMP, QOI and SVG
Asset exports offers animated GIF and static BMP, QOI and SVG. GIF retains up to 255 visible RGB colours exactly; larger sets use a fixed 6 by 7 by 6 grid without dithering. Alpha below 128 becomes transparent, otherwise opaque; timing rounds to 10 ms. Players can clamp short delays. BMP uses explicit V4 RGBA masks; QOI preserves sRGB RGBA. SVG writes horizontal pixel rectangles with opacity, not traced paths, fonts or animation. Static formats export the active frame, or the first playback frame of a chosen named range. All require review and a separate prepared download.
Import & export stages GIF animation or BMP/QOI images before explicit replacement. Review frames and differences first. Input is limited to 16 MiB, 256 pixels per axis, 32 frames and 4 MiB decoded cels. GIF supports local/global tables, interlacing and disposal 0-3; plain-text extensions and invalid streams fail. GIF delays clamp to 20-5000 ms and loop metadata is omitted. BMP accepts uncompressed RGB24/32 and standard V4/V5 RGBA masks; calibrated/embedded profiles and other compression fail. QOI linear-colourspace files fail explicitly. SVG import remains unsupported; APNG import is described below.
The website converter import BMP/QOI sources and prepare GIF/BMP/QOI/SVG downloads from converted pixels. Review differences, Prepare, then Download; changing conversion settings invalidates preparation. An editable project remains the backup for layers, source, references and metadata.
Document output and exact PNG
Image / Document output adds persistent grayscale or nearest-project-palette output after the full composite. Prepare, review, then Apply as one Undo. The original editable RGBA cels, text/effect colours, hidden source pixels and references remain in colour. These modes do not create grayscale/indexed storage documents. Grayscale uses encoded RGB weights 299/587/114; palette output uses squared RGB distance and the first slot on ties. Both preserve alpha. Changing palette swatches can change output appearance. Raw-cel previews and operations still use source colours.
Asset exports offers grayscale+alpha PNG and exact indexed PNG. Gray export requires already-gray composite pixels; select grayscale output first or use normal RGBA PNG. Indexed PNG stores up to 256 unique RGBA entries with full per-entry alpha; more entries fail explicitly. PNG import in Import & export accepts supported static 8-bit gray/gray-alpha/indexed/RGB/RGBA or animated PNG and expands pixels into RGBA. No indexed slot identity or output mode is inferred. Keep a v14 EzPix project to retain the mode and editable source. Layered native files refuse unsupported mode loss; flattened alternatives bake it.
The website converter offer grayscale and default-project-palette output plus exact gray/indexed PNG downloads. Review source/output differences before preparing a file. The ordinary image-converter PNG source path uses the browser; the editor native PNG importer preserves exact supported bytes.
TGA, PCX, ICO, CUR and APNG import
Asset exports adds TGA RGBA, PCX RGB flattened onto white, and one PNG-backed ICO or CUR image. ICO/CUR output must fit 256 pixels per axis. Cursor hotspot X/Y use source-canvas coordinates and scale with the image. Review these differences before Prepare and Download; presets and batch ZIPs retain hotspot settings.
Import & export accepts raw/RLE TGA true-colour/grayscale, v5 PCX RGB/indexed, PNG-backed ICO/CUR resources and APNG animation. Icon/cursor alternatives are selected individually, not animation frames. CUR import keeps its hotspot as a full-canvas slice pivot; set export coordinates explicitly. Legacy DIB icons/cursors, TGA extension/developer areas and PCX alpha are unsupported. This does not install an operating-system cursor.
APNG import supports non-interlaced 8-bit RGB/RGBA/indexed frames, offsets, source/over blending and none/background/previous disposal. Static fallback pixels are validated and omitted when separate from animation. Timing rounds and clamps to 20-5000 ms; loop/profile/text metadata is omitted. Maximum input: 16 MiB, 256 pixels per axis, 32 frames and 4 MiB decoded cels. Unsupported variants fail without replacing artwork. Review resources/frames, then explicitly replace; keep an editable project backup.
The website converter also import TGA/PCX sources and prepare TGA/PCX/ICO/CUR downloads. Hotspot changes invalidate prepared downloads, including an in-flight preparation. Animation import and icon resource selection belong to the editor.
Cel ranges and asset exports
Enable Select cel range in Animation. Shift-click or Shift-arrow extends the rectangle; Extend and tap works on touch. Drag to choose a destination, or choose destination and tap. Prepare copy/move/clear/unlink/hold, review replacement, then Apply as one Undo. Choosing cells in this mode does not change the paint target.
File / APNG, asset bundles and export presets offers RGBA animated PNG, PNG atlas, per-frame and per-slice ZIPs with JSON metadata, durations, tags and scaled pivots. APNG export supports reverse and ping-pong tag order; APNG import is available through Import & export. Bundles are engine-neutral; native engine integration still needs manual setup. References, source images, conversion recipes and history are excluded. A preset saves export settings, not artwork. Save collection on this device persists up to four presets; JSON exchange is portable. Selected presets can produce one reviewed batch ZIP. Downloads require explicit acknowledgment and preparation and reject stale artwork.
Source grayscale and document tabs
Image / Convert source to grayscale changes every raw cel, hidden RGB and hidden layers, editable text and palette slots. Alpha and linked cel identity stay intact. Unlock coloured layers/groups and palette slots first. Prepare, review and Apply creates one Undo; Discard retains source colours. References and original conversion images stay in colour. Output returns to RGBA. Future painting can still introduce colour; this is an explicit conversion, not a persistent grayscale editing mode.
The document tabs retain independent artwork and Undo/Redo. File / Workspace documents and library opens Documents, Transfer, Workspace files, Workspace recovery, Project library and Workspace assets. Up to four tabs can be opened, duplicated, renamed or closed. Tool settings are shared. Switching resolves pending previews. Existing File open/import replaces only the active tab. Closing a dirty tab asks before discarding it and its history.
Workspace JSON/ZIP retains up to four editable projects and active-tab identity, at most 8 MiB. Original conversion images are excluded unless chosen. Import validates every project and requires reviewed replacement of all tabs. Histories start empty after restore. The separate automatic all-document checkpoint uses one browser-tab writer and never silently restores; local storage can fail or be cleared. Keep project/workspace downloads as backups. Oversized sessions can use individual project files.
Transfer copies an ungrouped raw layer across equal canvas/frame dimensions, appends flattened timed source frames into a new layer, appends missing palette colours, or adds the source active composite as a display-only reference. The source is preserved and target changes use one Undo. Global target text/adjustment metadata can affect appended frames. Raw transfer refuses unsupported group/adjustment/output context.
The project library stores four named editable projects, at most 2 MiB, without original conversion images or history. Store/import edits a draft; Save project library persists it on this device. JSON exchange is portable. Opening adds a document tab. Workspace assets prepares a numeric-folder ZIP for selected document composites, with a combined 40-entry/8 MiB budget. Preview preparation and downloads reject changed workspaces. Bundles remain engine-neutral.
Indexed selection masks
Rectangular Select / Transform exposes Selection mask. Ellipse, diamond, polygon, lasso, brush, boolean combinations, morphology, component/hole tools, membership history, four session mask slots and binary mask PNG work on the original bounds. Indexed wand and global range compare exact original slot numbers, so equal-colour duplicate slots stay distinct. Coordinates are local. Membership edits do not change artwork history; Apply selection bakes the transformed members with one Undo.
Move clears only original members. Copy and transformed membership leave destination holes intact. Indexed selection files and the local buffer retain the full palette and encode holes with the designated transparent slot; opaque palettes with holes reject. Paste replaces the full stored rectangle, including transparent holes. Paint original indexed membership offers slot-based Fill and inner Stroke, following outer and hole edges. Cut and paint have separate reviewed previews; changing membership invalidates them. Cancel retains artwork, and empty masks preserve Redo. These masks are transient, not saved layer masks.
Privacy & preferences
Use the sun/moon button or View menu to change appearance. New users start in Light. Light, Dark and System preferences are saved on this device. Images and projects are processed locally; the surrounding website uses its existing site analytics. Read the GlitchBong privacy policy and terms.
Frequently asked questions
How do I save editable artwork?
Use File → Download project for layers and frames. File → Export & sprite sheets offers PNG images and sheets. Aseprite/Piskel import and export support the bounded subset described above. Photoshop PSD and OpenRaster ORA support the bounded static-layer subset above; PNG and sprite sheets are also available.
Where is image conversion?
Use Image / Import & convert image for a local PNG or JPEG. The Chrome extension provides capture and conversion in its toolbar popup; its setup guidance is above.
How do panels work on phones?
Use the bottom buttons to open Layers, Palette or Preview. The canvas stays in the workspace; scroll inside the canvas to reach zoomed pixels.
Do I need an account?
No. Theme preferences and local checkpoints belong to this browser profile.
Where do I report problems?
Use GlitchBong contact. Include your browser, steps to reproduce and the export format.