Enkava Open the editor →

Enkava User Guide

How to draw, paint, animate, rig, and export — right in your browser.

Nothing here needs an install or an account. The editor is a single web page: open it, make a project, and your work autosaves to the browser as you go.

You can make a free account if you want your projects in the cloud and openable on another device (§18A) — but it's entirely optional, and every drawing, animation and export feature works the same whether you sign in or not.

1The two kinds of project

When you start a project you pick a mode, and it's locked for that project:

  • Pixel — for sprite art and pixel animation. Every pixel is one hard-edged color; the grid, palette, and crisp scaling are all built for this.
  • Freeform — a Procreate-style painting mode. Soft brushes, partial transparency, blending, texture brushes, and the Pen/Shape vector tools all live here.

There is also a Print variant of freeform: it carries a physical size + DPI so exports print at their true size, and you get a CMYK soft-proof preview.

Pick a canvas size from the preset dropdown (game sprites and tiles, retro screens like Game Boy / SNES / NES, or modern resolutions up to 8K), or type a width and height. Then press New.

Tip

You can't convert a project between modes. Decide up front whether you're doing crisp pixel art or freeform painting.

2The workspace

  • Canvas (center) — where you draw. A checkerboard shows transparency.
  • Toolbar (left) — the tools (brush, eraser, fill, …).
  • Layers panel (floating, top-right) — drag it by its header to move it, and drag any corner to resize it. It's slightly see-through, so you can tell when it's sitting over artwork you care about. The button collapses it to just its title bar. Its size is remembered between sessions.
  • Frame bar (bottom) — thumbnails of your animation frames, plus playback and the Sheet button.
  • Animation panel / dope sheet — opens from the frame bar (see §11). Drag its top edge to make it taller or shorter.
  • File menu (top-left) — New, Save, Load, Cloud projects, and every Export.
  • Toggles menu (top) — show/hide whole panels (the reference panel and the Symmetry panel among them), onion skin, rulers, the origin crosshair, the print proof, and the bone chips on layer rows.
  • Sign in (top-right) — optional accounts and cloud projects (§18A).
  • Status bar — the active tool, tip size, and quick hints.

Some tools bring their own floating panel — the brush library, the gradient editor, the text styling panel and the mesh panel (§14.4). Each opens with its tool and toggles again if you re-tap the tool's button. Drag them by the header; where you leave them is remembered between sessions.

Almost every panel can be collapsed, and the layers/preview panels can be dragged out of the way.

3Moving around the canvas

  • Zoom — mouse wheel (zooms toward the cursor), or + / -.
  • Pan — hold Space or Enter and drag, or middle-mouse drag, or the Pan tool (H). On a touchscreen, two fingers pan and pinch.
  • Fit to screen — press 0.

The canvas can go up to 8K. Big canvases work, but each large frame uses a lot of memory and saving gets heavy — the editor is happiest with small-to-medium art and lots of frames.

4Drawing tools

  • Brush (B) — paint with the active color.
  • Eraser (E) — erase to transparent. (Right-drag erases with any paint tool.)
  • Fill / bucket (G) — flood-fill an area. Right-click fills with transparency. In freeform there's a "Fill tolerance" slider for soft edges. On a vector layer the bucket works differently and much better — see §8B.
  • Eyedropper (I, or hold Alt and click) — pick a color off the canvas.
  • Smudge (U, freeform only) — drags the colors already on the layer, like a wet finger. The Strength slider sets how far they carry.
  • Gradient (Shift+G, freeform only) — drag to fill the layer with a smooth linear or radial gradient, with a full multi-stop color editor. See §5A.
  • Text (T, freeform only) — click to place editable type that stays live and re-editable. See §8A.
  • Mesh / warp (Shift+M) — drag a layer's mesh points to squash, stretch and bend the artwork. Needs no rig. See §14.4.

Brush size: the [ and ] keys shrink/grow the tip, or use the Size box.

  • Pixel mode: tip is 1–64 px, square or round.
  • Freeform: tips go much larger and are always round, with a Hardness slider (hard edge → soft airbrush) and an Opacity slider.

Pressure: if you draw with a pen/stylus, pressure tapers the stroke naturally. A mouse paints at full pressure.

Painting on moved artwork

You can paint normally on a layer that is being tweened or carried by a posed bone — the cursor is mapped back into the layer's own space, so the ink lands where you're pointing even though the drawing underneath is stored somewhere else. Two exceptions: a layer deformed by a mesh refuses painting while its rig is posed (a mesh isn't a single transform, so there's nothing to map through — edit it on a frame where the rig is at rest), and box selection is off on a moved layer for the same reason.

5Brushes & the brush library (freeform)

Freeform mode has a brush library with texture brushes. Open it by tapping the Brush tool again when it's already active (or the "Brush: …" button).

  • Presets: round (hard/soft), chalk, spray, bristle, stipple.
  • A Vector tab holds the vector engines — Pen (pressure-tapered) and Marker (uniform ribbon). Painting with one records an editable path instead of pixels, hopping to (or creating) a vector layer automatically.
  • Import your own: click + and pick a PNG — its shape becomes a stamp.
  • Your imported brushes and current selection are remembered across sessions.

Brush depth — at the bottom of the library, three sliders shape how any brush lays down paint, saved per brush (so each one keeps its own feel):

  • Spacing — how far apart the tip is stamped along the stroke. Low = a smooth solid line; high = a dotted / beaded line.
  • Scatter — how far each stamp is randomly nudged off the stroke. 0 = right on the line; high = a spray / confetti cloud (great for foliage, stars, grain).
  • Flow — how much paint each individual stamp lays down. Opacity caps the whole stroke; lower flow builds up gradually as stamps overlap (soft-pencil shading). 100% is the classic full-strength stamp.

Smudge smears through the active brush tip, so a textured tip gives a textured smear (pick Round for a smooth smudge).

5AThe gradient tool (freeform)

The Gradient tool (Shift+G) fills the active layer with a smooth blend of colors. Drag on the canvas to set it: for a linear gradient the drag is the color ramp (start → end); for a radial one the drag is center → radius, so the color rings outward. Hold Shift to snap the drag to 45° angles.

Tapping the tool again opens the gradient editor (a floating panel):

  • Linear / Radial — the gradient shape.
  • The bar shows the blend; the round handles below it are the color stops.
  • Double-click the bar to add a stop; drag a handle to move it; the Delete button removes the selected one (a gradient always keeps at least two).
  • Click the color swatch to recolor the selected stop, and set its alpha (a stop can be fully transparent — the default is color → transparent).

A gradient clips to an active selection (fill just a sky, say) and respects a layer's alpha lock. It's one undo step, and it's remembered between sessions. (Gradients are freeform only — pixel mode keeps hard-edged color.)

6Color & palettes

The color strip sits under the toolbar. Click a swatch to select it; colors you paint with are auto-added, and a Recents row keeps your latest picks.

The color picker — click the big color well (above the strip) to open a full HSB picker: a saturation/brightness square, a hue strip, and H/S/B, R/G/B and hex fields. Double-click a palette swatch to edit that swatch in place with the same picker.

  • Curated palettes — swap in ready-made strips (Sweetie-16, PICO-8, …).
  • Save as… — store your current strip as a named user palette.
  • Import / Export — load or save Lospec .hex and .gpl palette files.

Print projects also show a CMYK readout for the picked color.

6AThe reference panel

Turn it on in Toggles → "Reference panel" to float a picture beside your canvas to work from. Click + (or drag an image onto the panel) to load one; drag to pan it and use the wheel to zoom. With the eyedropper (or holding Alt), click the reference image to pick a color straight out of it into your paint color.

The reference lives in this browser session and isn't saved into the project.

7Selections & transform

There are three ways to select an area:

  • Select (S) — drag out a rectangle.
  • Lasso (L) — drag for a freehand outline, or click to place straight-edged points and click the first point to close (the same drag-vs-click split the Pen uses).
  • Wand (W) — click to grab a connected area of similar color; the Fill tolerance slider sets how similar.

With any of them, Shift adds to the selection and Alt subtracts. The select bar also gives you invert, grow / shrink, feather (soften the edge, freeform), and "select layer alpha" (select exactly what the layer has painted).

Contents only — with the Lasso picked, a checkbox appears under the tools. Turn it on and the lasso keeps only the part of the area you traced that the current layer has actually drawn on. So you can loop roughly around a character, nowhere near its edges, and get a selection that hugs the character instead of a box full of empty space. Soft and antialiased edges stay soft, so what you cut or move comes away cleanly. Leave it off and the lasso selects everything you circle, as before.

Note

Contents only looks at the current layer — the same layer Cut, Clear and Copy act on — not at everything you can see. If a loop comes back empty, check you're on the layer the art is on; the status bar says so when that happens.

Select allCtrl+A grabs the whole canvas (on a vector layer, every stroke on it). Handy as the first step of "flip / rotate / move this entire drawing".

A selection confines painting: with one active, brush / eraser / fill / gradient only affect the area inside it — so you can shade within a shape without spilling out. The selection stays put when you switch to a paint tool; Esc clears it.

Once you have a selection:

  • Drag inside it (or use arrow keys) to move the pixels.
  • The action bar gives you rotate, flip, copy, cut, clear, and place.
  • Ctrl+C / Ctrl+X / Ctrl+V copy/cut/paste — and paste works onto any frame or layer, even a new project.
  • Enter or click outside commits; Esc cancels.

In freeform, a lifted selection becomes a free-transform box: grab the corner/edge handles to scale (Shift keeps aspect), and the knob above it to rotate freely (Shift snaps to 15°). Pixel-mode transforms stay at exact 90° steps so pixel art never gets resampled.

On a vector layer, tapping a stroke selects that whole stroke and shows its control points for editing (see §8).

Note

Box selection is unavailable on a layer that is tweened or carried by a posed bone — a rectangle of pixels has no meaning once the layer is rotated. Selecting individual vector strokes still works there.

7ASymmetry (mirrored painting) & flip

Symmetry mirrors what you paint across an axis, live as you draw — the far side appears under your cursor as you go, not when you let go. It's the fastest way to draw faces, characters, wings, mandalas, UI icons, tiles and anything else with a mirror line.

It isn't a tool in the toolbar — it's a mode that rides on whatever tool you're holding. Open its panel with Toggles → "Symmetry panel" (or press Shift+Y):

  1. Tick Vertical axis ↔ to mirror left↔right, and/or Horizontal axis ↕ to mirror top↔bottom. Tick both for 4-way symmetry (one stroke, four marks).
  2. Draw. Whatever you paint on one side appears mirrored on the other.

Where the axis lands. Ticking an axis drops it down the middle of your current selection if you have one — select the area you want to work in, then tick the axis to mirror down its centre. With nothing selected, it goes down the canvas centre.

The axis then stays where you put it and outlives the selection. Deselect and you can keep painting across the whole canvas, still mirrored. This is deliberate: the selection places the axis, it doesn't own it.

  • The number box beside each axis moves it exactly (in pixels from the left / top edge). Half-pixel values are normal and fine.
  • Centre re-places the live axes on the current selection (or the canvas).
  • Off turns both axes off.
  • A dashed blue line on the canvas shows each live axis.

Good to know:

  • It works in both pixel and freeform projects, and on vector layers (where the mirrored stroke becomes a real, editable second stroke).
  • The eraser mirrors too — so you can clean up symmetrically, not just paint.
  • One stroke is one undo, mirrors included. Ctrl+Z takes back all of it.
  • Smudge is deliberately not mirrored: it pushes paint that's already on the layer around rather than laying down new ink, so there's nothing to mirror.
  • The axis is saved with the project, so it's still there next time you open it — including after a crash recovery.
Tip

The default axis sits exactly where the origin crosshair does. If the two lines confuse you, press X to turn the crosshair off.

Flipping

Separate from live symmetry, you can flip a drawing that already exists:

  • A selection — select something (Ctrl+A for everything) and use the ⇄ / ⇅ buttons on the select bar.
  • A whole layer — the ⇄ / ⇅ buttons in the Layers panel footer flip the active layer's drawing on the current frame, no selection needed.

Both are a single undo step. Text layers refuse to flip — the lettering would come out backwards.

8Vector drawing (freeform)

Freeform projects can hold vector layers — real editable paths, not pixels. Add one with the + button's Layer/Vector picker.

  • Pen (in the toolbar) — click to place anchor points; click-drag to pull out smooth curve handles; click the first anchor to close a shape. Right-click or Esc finishes the path. Click on an existing path to insert an anchor. Double-click an anchor (with Select) to switch it smooth ↔ corner.
  • Shape — drag out rectangles, ellipses, polygons, or stars that stay live-editable by their parameters. Shift = square/regular, Alt = from center.
  • Vector strokes stay crisp at any zoom, can be smoothed/simplified, and export as true paths to SVG and PDF.
  • With one stroke selected you get its style bar: caps, joins, dashes, fill, taper/width profile, and Smooth / Simplify.

You can rasterize a vector layer (turn its strokes into plain pixels) with the ✎→▦ button — one-way, so keep a copy if unsure.

8AText (freeform)

The Text tool (T) adds real, editable type — titles, captions, speech bubbles, UI mockups. Click on the canvas to drop a text box and start typing. The words stay live: pick the Text tool again and click the type to edit it, change the wording, or restyle it. One layer can hold several separate text blocks.

Re-tap the tool to open the Text panel (its floating settings):

  • Font, size, bold / italic, alignment, and line height.
  • Color comes from the normal color picker.
  • Rotation — a numeric field, or grab the box handles around a block: the knob rotates (Shift snaps to 15°) and the corners resize the font.

With the Text tool, a single click selects a block (showing its box), and clicking again opens it for editing; dragging a block moves it. Text inherits layer transforms, the camera, and rigging like anything else, and exports as real, selectable <text> in SVG.

8BFilling vector line art (the paint bucket)

Pick the Fill tool (G) and click inside an area of a vector layer. The colour goes on and — this is the part that matters for animation — it stays attached to the line. Redraw the line, drag a node, scale the drawing, and the fill reshapes itself to match. You never re-fill after an edit.

What to use it for

  • Flat-colouring line art frame by frame. The main one: on a 12-drawing walk cycle the fills follow every redraw, so you colour once instead of once per frame.
  • Blocking in a silhouette while you're still finding the shape.
  • Filling a shape you drew with the Pen or Shape tool.

A fill usually becomes part of the line

When one stroke already describes the area you clicked in, the bucket colours that stroke. The line and its colour become one object — select it and you get one selection, not two; move it, deform it with a bone or a mesh, save it, export it, and the colour travels with the line, because it is the line.

That also makes it exact. The colour reaches the middle of the brush stroke and the line paints over the top, so there is no pale hairline between them and no jagged edge, however far you zoom in.

You don't have to close the loop — or close it at the ends

Hand-drawn loops are never perfect. Enkava looks for the two closest parts of the line and fills between them, which covers the three ways people actually draw:

  1. You crossed over your own line. The commonest one: you go round and overshoot past where you started, leaving a little tail. The fill uses the crossing point, so the tail stays outside the colour.
  2. The loop is in the middle of a longer stroke. Draw a "P" in one go — a stem, a loop and a run-out — and clicking inside the loop fills only the loop. The stem and the run-out stay uncoloured.
  3. You left a gap. If the two ends never meet, the closest two points are used instead and the fill closes straight across.

For ⑶ the judgement is relative, not a pixel count: a gap is "closed enough" when it is small compared with the loop it closes. A big circle left slightly open fills; a small one with the same size gap does not — the same call you'd make by eye. Nothing to set, and it behaves the same however far you're zoomed in or how large you drew.

When Enkava closes across a gap, expect a straight edge there. There's no line drawn across the opening, so the colour simply ends in a straight line. That's the fill showing you where your outline is still open — close the line and it disappears.

When it can't use one stroke

If the area is enclosed by several separate strokes — a box drawn as four strokes, say — no single stroke describes it, so Enkava traces the region and adds a separate colour shape underneath the line art. It's still live (it follows the lines when you redraw them), it just isn't part of any one stroke. Two controls tune that case, in the tool's settings row:

  • Close gaps — how many pixels of leak-proofing to apply. Raise it if colour escapes through a gap between strokes.
  • Hole buffer — holes this size or smaller get coloured over. Useful for speckly or hatched line art.

Both are remembered between sessions, and each fill keeps its own copy of them, so changing the sliders never disturbs fills you already made.

Things worth knowing

  • Click an already-filled area again to recolour it. Right-click removes a fill.
  • A colour always sits under the line art, never over it.
  • One stroke holds one fill. If a single stroke encloses two separate pockets, filling the second leaves the first alone and traces the second instead.
  • Break the loop open and the colour disappears but is not lost — close the line again and it comes straight back.
  • The Fill swatch on the selection bar is unchanged and still fills a whole selected shape; the bucket is for clicking into an area.

9Layers, groups & blend modes

The Layers panel (top-right) manages layers for the whole project — every frame has the same layer stack. A project can hold up to 48 layers.

  • The eye checkbox shows/hides a layer.
  • Click to select, double-click to rename, drag to reorder.
  • Footer buttons: duplicate, delete, move up/down, group, ungroup, rasterize, flip (⇄ / ⇅ — see §7A), hold (≡), and bind-to-bone (🦴 — see Rigging).
  • Each row shows a thumbnail of that layer on the current frame.

Row marks. A row tells you what the layer is and what's moving it:

  • ⦿ spine — this layer follows the bone named "spine". Click the chip to select that bone (the transform bar, skeleton and dope sheet all follow it). A long bone name is shortened; hover the chip for the full one.
  • — this layer is deformed by a mesh (see §14.4). It can appear on its own, because a mesh needs no rig at all.
  • V — a vector layer. — held on this frame (see §11).
  • 50% / M / 🔒 — non-default opacity, blend mode, and alpha lock.

Hide the bone chips with Toggles → "Bone bindings on layers".

Per layer you can set:

  • Opacity (slider).
  • Blend mode — the full set of 16 (Multiply, Screen, Overlay, Darken, Lighten, Color Dodge/Burn, Hard/Soft Light, Difference, Exclusion, Hue, Saturation, Color, Luminosity, and Normal), grouped by family in the dropdown.
  • Alpha lock (🔒) — paint only lands where the layer already has pixels, so you can recolor art without spilling outside its silhouette.

Masks — hide parts of a layer without erasing them:

  • A layer mask is a paintable alpha channel on the layer. Add one from the layers panel, then paint the mask: erasing hides the artwork and painting reveals it, all non-destructively (the art underneath is never touched). One mask is shared by every frame of the layer.
  • A clipping mask clips a layer to the shape of the visible layer below it — the standard way to shade or add detail inside an existing silhouette.

Groups: put layers in a folder to organize them; a group can have its own opacity and blend mode, and composites in isolation. Groups can nest, and you drag layers in and out in the panel.

10Animation basics

The frame bar at the bottom holds your frames.

  • Add frameN (or the + button).
  • Duplicate frameD. (Duplicate, then nudge — the classic workflow.)
  • Delete frameDelete (with nothing selected), or the trash button.
  • Switch frames, (previous) and . (next).
  • Reorder — drag a frame's thumbnail along the strip and drop it where you want it; a blue line shows the slot it will land in. Dragging near either end scrolls the strip. On a touchscreen, press and hold a thumbnail for a moment before dragging — a plain swipe scrolls the strip instead.

Reordering re-times everything keyed to those frames — layer tweens, the camera and bone poses all travel with the frame that moved.

Onion skin — see neighboring frames as colored ghosts so you can line up motion. Toggle the prev/next ghosts (O toggles prev), and open Onion… to set how many ghosts, their opacity, and their tint colors (Procreate-style).

Origin guides — press X for a crosshair through the canvas center ("are the feet still on this line?").

Preview & playback — press P (or Play) to play the animation right in the canvas; set the FPS in the frame bar. There's also a pop-out preview panel. Click the canvas while playing to pause and jump to the frame that was showing.

11The animation panel (dope sheet)

Open it with the ▾ Sheet button in the frame bar. You get a grid: one row per layer, one column per frame. Drag the panel's top edge to resize it.

Above the grid is a tab strip, because the panel does five different jobs:

  • Layer — the selected layer's transform on this frame (§12).
  • Camera — the project-wide camera track (§13).
  • Bone — the selected bone: rig setup, and painting mesh weights (§14).
  • Actions — reusable animation clips (§15).
  • Audio — the project's sound clip (§16).

The tab follows what you're doing: picking up the Bone tool or selecting a bone switches to the Bone tab. Clicking a tab yourself always wins.

Per-layer timing (holds)

Real animation isn't one global speed — different layers move at different rates. Enkava does this with per-layer exposure, shown in the grid.

  • A solid block = a drawing starts on that frame.
  • A connecting bar = the drawing is held (reused from the previous frame).
  • Click a cell to jump to that frame + layer.
  • Double-click a cell to toggle a hold.

Holds let one layer stay still ("on twos" or "on threes") while another keeps moving ("on ones") — the defining move for lip sync and limited animation.

  • + Hold (Shift+N) adds a fully-held frame (shoot on twos in one click).
  • The button in the layers panel (Shift+H) holds/unholds just the active layer on the current frame.

A held cell costs nothing — it reuses the previous drawing, so editing that drawing updates every frame that shows it.

Non-layer lanes sit at the top of the grid: the audio waveform, the camera track, a "Rig" header with one lane per bone, and a mesh lane for any layer whose mesh points are animated (§14.4).

Retiming — editing keys in the sheet

Keyframes are diamonds in the grid, and you can move them around directly instead of unkeying and re-posing. Use it for the everyday job of fixing timing after the fact: an action that lands too early, a pose you want to hold two frames longer, a gesture you want to reuse further down the timeline.

  • Click a key to select it. Ctrl+click adds or removes one. Shift+click selects the run between. Drag on empty grid to rubber-band a block of keys.
  • Drag the selection sideways to retime it. Crossing over another key doesn't destroy it — only where you let go counts. One drag = one undo.
  • Delete removes the selected keys. (With keys selected, Delete removes the keys, not the bone.) Esc deselects.
  • Ctrl+C / Ctrl+V copy and paste keys, including onto a different lane. Layer and bone lanes interchange freely; camera and mesh paste only onto their own kind.
  • Ctrl+drag from the last key of a run to scale that run — speed a whole action up or slow it down without re-posing anything.

Undo covers all of it, including the ◆ Key / ✕ / Clear buttons.

Play range and markers

  • The gold brackets on the frame strip set an in and out point, and playback loops just that range — the way you polish one action without watching the whole shot. Drag them, or press Shift+I / Shift+O to set them at the playhead. "Clear loop" (or \) drops back to the whole timeline. Audio plays the matching slice, in sync.
  • + Mark drops a named flag on the current frame — beats, hits, the frame a door slams. Click a flag to jump there; hover it and click the × to delete. Flags re-time themselves when you insert or delete frames.

12Tweening — animating a layer's transform

You can animate a layer's position, depth, rotation, scale, and opacity over time without redrawing it. The drawing itself never changes — only how it's placed.

On the Layer tab, with a layer selected:

  1. Go to the frame where the motion should start.
  2. Type values into X / Y / Z / Rot / Scale / Alpha — this auto-keys the layer on that frame (a diamond appears in its Transform row).
  3. Go to a later frame and set different values → a second key.
  4. The layer smoothly interpolates between the keys.
  • Z is depth — how far the layer sits along the camera axis. 0 is the action plane; positive pushes it away (it shrinks and moves less under a camera move), negative brings it nearer. This is what produces parallax; see §13.
  • Ease sets how a key blends into the next one: Linear, Ease in, Ease out, Ease in-out, Smooth (flows through the pose instead of braking to a stop at it — the natural choice for continuous motion), or Step (holds the value until the next key — for snappy, constant-interpolation animation).
  • Cycle — on the last key, this repeats an earlier span forever instead of holding. A "from" box beside it names the frame to loop back to, so you animate one cycle and it runs for the whole shot.
    • Cycle repeats in place — a blink, a flapping flag, a spinning wheel.
    • Cycle + travel carries the loop's movement forward each time round, so a walk cycle crosses the screen instead of moonwalking on the spot.
    It works the same on layer transforms, bones, the camera and mesh points.
  • ◆ Key pins the current pose without changing it.
  • removes this frame's key; Clear removes all of the layer's keys.

You can keep painting on a tweened layer — strokes are mapped back into the layer's own space, so they land under your cursor (see §4).

13The camera, and depth

The camera is a single, project-wide move that reframes the whole scene — great for a push-in, a pan across, or a shake. It's a non-layer track: it lives on its own lane in the dope sheet, not on any layer.

Open the Camera tab.

  1. Go to a frame and set X / Y (pan), Dolly, Zoom (%), or Rot — this starts the camera and auto-keys it on that frame.
  2. Set different values on a later frame → the camera moves between them, with the same easing options as tweens.
  3. ◆ Key / ✕ / Clear work just like the transform bar.

Dolly vs zoom — the difference that matters

  • Zoom is the lens. It magnifies everything equally, so the shot gets bigger but stays flat.
  • Dolly moves the camera itself through the scene. Near layers swell faster than far ones, so the shot gains real depth as you move.

They only differ if your layers have depth. Give layers different Z values (§12) — background positive, foreground negative — and a dolly or a pan will separate them: near art sweeps past while distant art barely shifts. That's parallax, and it's the whole reason Z exists.

  • Lens (on the camera bar, after the key buttons) sets perspective strength for the whole project — it is not animated. Lower is a wider lens and stronger parallax; higher flattens toward no perspective at all.

While you're editing, the canvas keeps showing the whole scene at rest, with a dashed blue rectangle marking what the camera currently frames — so you can set up a move without your drawing jumping around. When you play (or export), you see through the camera. The pop-out Preview panel also shows the camera live while you're stopped, which is the easiest way to judge a depth move.

How to think about it

The canvas is your scene. Zoom the camera in to frame a smaller part of it, then pan/rotate/dolly across. The output stays the same size as your canvas — the camera reframes the composite, it doesn't crop to a new size.

The camera applies to every animated export (GIF, APNG, video, WebM) and the sprite sheet / atlas too.

14Rigging with bones (and deforming without them)

Bones let you pose artwork without redrawing it — build a skeleton, bind your layers to bones, then move the bones to animate.

If you only want to squash and stretch a drawing, skip ahead to §14.4: a mesh needs no rig, and dragging its points is a tool of its own (Shift+M). Bones and meshes work together, but neither requires the other.

14.1The basic workflow

A) Draw your parts on separate layers. Put each movable piece on its own layer — upper arm, forearm, head, torso, etc. A piece that needs to move independently needs its own layer.

B) Build the skeleton. Select the Bone tool (K).

  • Drag on empty canvas to draw a bone: press at the joint, release at the tip. You'll see the skeleton as orange segments with a ring at each joint and a knob at each tip.
  • To chain a child bone (e.g. forearm off the upper arm): with a bone selected, drag again — the new bone attaches to the selected bone's tip and becomes its child. Chain shoulder → elbow → wrist this way.
  • Click a bone to select it (it turns green). Esc deselects.
  • Delete removes the selected bone and everything chained below it.
  • Ctrl+Z undoes rig work like anything else — one gesture is one undo, so an IK drag that swung five bones is taken back in one press. Merely selecting a bone is not an edit.

B2) Which way to draw — the one that catches everybody. A bone rotates about its joint: the end you pressed at. Not its middle, not its tip. So the joint has to sit where you want the pivot to be.

  • Always draw a bone outward from the joint it should pivot on. A head bone starts at the neck and drags up to the crown. Draw it the other way — crown down to neck — and the head swings from the top of the skull, as if the character were hanging from it.
  • Root the skeleton at the hips or chest, not the head. A chained bone attaches to its parent's tip, so starting at the head and working down leaves everything hanging off the crown, and the whole character animates slightly ragdolled.

A build order that works for most characters: hips (root) → spine drawn upward to the neck → head drawn upward from the neck → arms drawn outward from each shoulder → legs drawn downward from the hips.

Got one the wrong way round?

You no longer have to delete and rebuild it — tick Edit rest pose in the Bone panel and move the joint where it belongs (below). Nothing else in the rig has to change.

The Bone panel — where rig setup lives

Picking up the Bone tool opens a floating Bone panel, and it stays open while you work. Everything that sets up a bone is there: angle limits, independent angle, aim-at, IK goals, dynamics, smart bones, weight painting, and the rest-pose controls below. Things that animate a bone — Stretch, Girth, Keep volume — stay on the Bone bar next to the timeline their keys land on.

  • Edit rest pose — the fix for a bone drawn the wrong way round, or a joint in slightly the wrong place. Tick it and the skeleton shows at rest in blue; now drag a bone to move its joint, or drag its tip to re-aim and re-lengthen it. X / Y / Angle / Len take exact numbers, and nothing is keyed. Poses you already animated are deliberately left alone: a pose is an angle relative to rest, so moving a head bone's joint from the crown to the neck makes every posed frame rotate about the neck instead — which is exactly the repair. The artwork doesn't move at rest.
  • Parent — re-hang a bone under a different one without anything jumping. It refuses choices that would make a loop.
  • Branch from click — normally a chained bone attaches to its parent's tip. Tick this and the new bone's joint lands where you start the drag instead, so two chains can leave the same joint — both legs from the hips, or a tail and a spine from the same vertebra. Off by default.
Edit the rest pose on a resting frame.

On a posed frame the skeleton shows at rest while the artwork stays posed, so you'd be placing a joint against a drawing that's bent somewhere else. Enkava warns you.

C) Bind each layer to a bone.

  • Select the layer in the Layers panel.
  • Select the bone it should follow (Bone tool).
  • Click the 🦴 button in the Layers-panel footer. The row now shows "⦿ <bone>". Click again to unbind.
  • Bind while the rig is at rest — the art won't jump.

D) Pose. Still in the Bone tool:

  • Drag a bone's body to swing just that bone about its joint (FK).
  • Drag a bone's tip to pull the whole two-bone chain there (IK) — grab a hand and the elbow works itself out. A root bone always swings.
  • Hold Shift and drag a bone's tip to squash and stretch it (below).
  • Bound layers move with the bone, and children follow their parents up the chain.
  • Every pose auto-keys on the current frame — so posing across frames builds the animation. Pose on frame 1, pose differently on frame 5, and the rig tweens between them.
  • You can also type exact pose values into the Layer tab: when a bone is selected that bar edits the bone (its label turns green and reads the bone's name).

D2) Squash and stretch. A bone can change length, not just angle — which is where cartoon weight comes from: the crouch before a jump, the stretch on a fast arm, the compress on landing.

  • Hold Shift and drag a bone's tip to stretch it along its own length. Dragging back toward the joint squashes it.
  • Or type exact numbers in the Bone bar: Stretch is length along the bone, Girth is thickness across it. The range is ¼× to 4×.
  • Keep volume (on by default) ties the two together: stretching thins the bone across, squashing thickens it. That trade is what reads as weight — without it a stretch mostly just looks like the art got bigger. Turn it off to set length and thickness independently.
  • Like every other pose it auto-keys on the current frame, so it animates.
  • Children on the tip ride the stretch, so a limb never comes apart — and it works with meshes and weight painting exactly as it works with rigidly bound art.

E) See it on the timeline. Each bone gets a lane under a "Rig" header, one diamond per pose key. Click a lane to select that bone; double-click a cell to add/remove a key.

14.2Rig setup — constraints

Open the Bone tab and click "Rig setup…". These are rig properties: they hold on every frame rather than being keyframed, which is why they live behind a button instead of among the per-frame fields. The bar shows a one-line summary of whatever is active.

  • Angle limit — stop the bone rotating past a Min/Max. Applied last, so a limit overrides everything below and IK respects it too. Knees don't bend backwards.
  • Independent angle — hold this bone's own world angle no matter what its parents do. This is how a head stays upright, or a foot stays flat, while the body moves under it.
  • Aim at — point this bone at another bone, continuously. Move the target and this bone tracks it (eyes, a gun barrel, a spotlight). Bones that would create a loop aren't offered.
  • Dynamics (springy lag) — secondary motion for tails, hair, ears and cloth: the bone lags behind what its parent does and settles. Stiff is how hard it snaps back; Damp is how fast the wobble dies. It's simulated from frame 1 every time, so scrubbing, playback and exports always agree.
  • Drives clip (smart bones) — make this bone a dial: rotating it scrubs a recorded Action (§15), so every bone that clip touches poses itself to match. Set From° / To° for the rotations that play the clip's start and end. One dial can drive a whole hand-closing or head-turn. Clips that would drive the dial back aren't offered.

14.3IK goals — the planted foot

Dragging a tip (14.1 D) is a one-off posing aid. An IK goal is the live version: the bone and its parent continuously solve so the tip sits on a target, every frame. Move the hips and the planted foot stays planted.

In Rig setup…, next to "IK goal":

  • Click "+ Create goal" to make a goal bone at this bone's tip and wire it up in one step (or pick an existing bone from the dropdown).
  • Now animate the goal bone like any other bone — it's a normal bone, so it keyframes, draws and saves like the rest of the rig.
  • Blend mixes the keyed FK pose (0) with the solved IK pose (100). It's keyframable, so a foot can plant and release mid-shot.

Notes: the chain is two bones (the bone and its parent) — which covers arms and legs, i.e. nearly all 2D character IK. Out of reach, the limb straightens and still aims at the target. Angle limits still clamp the result, and a bone driven by IK skips dynamics (a planted foot that springs isn't planted).

14.4Mesh deformation — bending and stretching

A mesh lets a drawing change shape instead of only moving as a whole. Two things drive it, and you can use either or both:

  • Bones bend it — an elbow that creases, a tail that curves, cloth that follows a body.
  • Your own hands stretch it — grab a point and pull. Squash, stretch, a ripple through a cape, a face that isn't rigid.
A mesh needs no rig

If all you want is to squash a drawing, add a mesh and drag its points — there is no skeleton to build first. Bones are an option, not a requirement.

The Mesh tool (Shift+M). Pick it from the toolbar or press Shift+M. Its panel opens with it (re-tap the tool button to hide or show the panel again). The panel is where a mesh is created and tuned:

  • Mesh on this layer — tick it to build a grid over the layer's artwork on this frame. If the layer is empty here there is nothing to build over, and it will say so.
  • Nodes — how many points the mesh has along its longer side. The other side follows automatically so the cells stay roughly square. More nodes follow a bend more smoothly and cost more triangles.
  • Rebuild — rebuild the mesh over the layer's current art. Painted weights and any point animation are lost, so do this before hand-tuning, not after. (Changing Nodes rebuilds too, and asks first for the same reason.)

Dragging points. With the Mesh tool active, drag any point of the lattice. Neighbouring points follow, so you get a bend rather than a spike. Hold Alt to move one point alone.

The lattice tells you what you have moved: a point at rest is hollow, a point carrying a deformation on this frame is filled orange, and a pinned edge point is dim grey. Each drag is one undo, however long the drag was.

  • Reach — how far a drag carries. Rings of nodes counts steps out through the lattice ("2 rings" = the two rings of neighbours around the point you grabbed), which means the same thing however big the art is. Pixels is an absolute distance instead.
  • Shape — how the drag fades across the points it reaches. Soft bulges smoothly. Linear arrives at an angle and leaves a crease, which a hard fold sometimes wants. Sharp keeps the movement close to the point you grabbed.
  • Pin edge points — holds the mesh's outer ring still, so dragging near the border can't pull the artwork's silhouette out of shape. Pinned points can't be grabbed while this is on.
  • Mirror drags — also moves each point's twin across the symmetry axis, using the axes from the Symmetry panel (Shift+Y). Place an axis there first; with no axis set, this does nothing.
  • Show lattice / handles — hide the lattice to see the art clean while you work, or set the handle size by hand (0 sizes them to fit the spacing).

Animating a deformation. Every drag keys the current frame. Move the playhead, drag again, and the shape tweens between the two.

  • Key frame — pins the mesh's current shape on this frame without dragging anything. Use this on your first frame. Outside the keyed range the nearest key holds, so if your only key is on frame 10 the deformation shows from frame 1 onward and never animates out of rest. A rest key on frame 1 is what makes it move.
  • Remove key — drops this frame's key; the shape then comes from the neighbouring keys.
  • Ease — how this frame's key eases into the next, the same easing every other animated track offers.
  • Reset all points — sends every point home and deletes the mesh's point animation. The mesh and its painted weights survive.

Weighting a mesh to bones (Bone tab). Only needed if bones are driving the mesh. Each mesh point is automatically weighted to the nearest bones when the mesh is built, and those automatic weights are worst exactly where it shows: joints and crossing limbs.

  • Paint weights — on the Bone tab, tick this, select a bone, then left-drag on the canvas to add that bone's influence and right-drag to remove it. A heat map shows the selected bone's influence (blue → red). Size sets the brush. (This one stays on the Bone tab because it's the only mesh control that genuinely needs a bone selected.)

Good to know:

  • A mesh changes nothing until something moves it — an unposed rig with no dragged points deforms to nothing, so ticking Mesh is safe.
  • Painting artwork is off on a meshed layer while its rig is posed — edit it on a frame where the rig is at rest.
  • SVG and PDF export write artwork at rest, so mesh deformation isn't carried into those (raster exports are fine).
  • A mesh covers the whole layer's artwork. To deform just a face on a busy drawing, put the face on its own layer and mesh that — the same way the dedicated animation tools do it.

14.5Good to know

  • The drawing never moves; only the composite does. A bound layer's thumbnail stays at rest even while the composite shows it posed.
  • You can paint on a layer carried by a posed bone — strokes are mapped back into the layer's own space (see §4). Meshed layers are the exception.
  • Bones work in both pixel and freeform projects.
  • Loops are refused when you wire them: a bone can't aim at, or be driven by, something that depends on it.

15Reusable actions (animation clips)

An Action is a named clip of your rig's animation — a walk cycle, a blink, a wave — that you record once and stamp back onto the timeline as often as you like. Open the Actions tab (it's dimmed until the project has a rig).

To record:

  1. Animate the rig over some frames as usual.
  2. Set From and To to that frame range.
  3. Click ● Record. The clip joins the dropdown.

It captures the bone poses and the local transform of every bound layer, so secondary motion you added on top of a bone comes along too.

To use:

  1. Pick the clip in the dropdown.
  2. Set Repeat (how many times it repeats back to back) and Speed (2 = twice as fast).
  3. Put the playhead where it should start and click "Insert at playhead". The timeline grows if it needs to.

Easing survives retiming exactly — only frame rounding is approximate.

Two things worth knowing

A placement is a copy, not a live link. Once stamped it's ordinary keyframes, so you can tweak one placement without touching the others — but fixing the clip later does not update placements you already made. And repeating only makes sense for a cycle: author clips whose first and last pose match, or the seam will jump.

Deleting a clip leaves stamped placements alone — they were copies. Actions are also what smart bones scrub (see 14.2, "Drives clip").

16Audio

You can attach one audio clip to a project and animate against it — essential for lip sync and for hitting beats.

On the Audio tab:

  • ♪ Load… — attach a WAV / MP3 / OGG file.
  • Offset — when the clip starts, in seconds relative to frame 1. Use it to line the sound up with the action.
  • Clear — remove it.

The waveform appears as a lane at the top of the dope sheet, so you can see where the sound is. Click the lane to jump to a frame. On Play, picture and sound share one clock, so they can't drift, and the clip restarts each time the animation loops.

Heads-up

The audio is linked, not embedded. The sound lives in this browser, and the .json you save only references it — so a project file you email to someone else will open without sound. Keep the audio file alongside it and re-attach.

17Exporting

All exports live in the File menu. Pick by what you need:

Still / sheet

  • Export sheet (PNG) — all frames tiled into one image. The Cols box sets the grid width (0 = one horizontal strip).
  • Export atlas (PNG + JSON) — the sheet plus an Aseprite-style JSON that names every frame's rectangle and timing. This is the pair game engines (Phaser, PixiJS, etc.) load directly.

Animation

  • Export GIF — plays everywhere, but only 256 colors and hard transparency (smooth gradients will band; you'll get a heads-up). Best for simple pixel loops.
  • Export APNG — lossless, keeps full transparency. Best all-round animated image. (Saved as .png — an APNG is a valid PNG.)
  • Export video — MP4 or WebM (whichever your browser encodes). Transparency becomes a dark background.
  • Export WebM (alpha) — WebM that keeps transparency, for compositing over other footage in a game engine or video editor.
  • Export frames (ZIP) — every frame as its own PNG, zipped.

Vector / print (single frame)

  • Export frame (SVG) — vector layers stay editable paths (Illustrator, Affinity, Figma, Inkscape); raster layers ride along as embedded images.
  • Export frame (PDF) — print-ready; vector layers stay real paths.

Everything that moves — layer tweens, depth, the camera, bone poses and mesh deformation — is baked into every raster export (sheet, atlas, GIF, APNG, video, WebM). SVG/PDF write each layer's artwork at rest, so if the frame is animated or rigged they'll warn you first.

Audio is not muxed into video exports yet.

18Saving, loading & crash recovery

  • Save (Ctrl+S) downloads your project as a .json file — the full editable document, including layers, frames, tweens, the camera, and the whole rig. Keep these; they reload exactly.
  • Load opens a .json, or imports a PNG/JPEG (as a new project or sliced sprite strip), an SVG (added alongside your work in a freeform project), a Photoshop .psd, an Aseprite .aseprite, or a Procreate .procreate file.
  • Place image on a layer adds a PNG/JPEG to the project you already have, instead of replacing it — see below.

18.1Placing an image on a layer (the "sticker" import)

Load treats an image as a whole new project. When you want to drop a picture into the drawing you're already working on — a character over a background you painted, a logo onto a mockup, a photo to trace — use Place image instead:

  • File menu → Place image on a layer…, or
  • the Layers panel's + button → Image…

The picture arrives on a new layer above the one you were on, and it lands floating — not yet stamped down — so you can put it where you want it first:

  • Drag it to move it.
  • Use the corner and edge handles to resize, or the rotate knob above it to turn it. The W / H / angle boxes take exact numbers.
  • Click the ✓ (or press Esc, or pick another tool) to place it. ✕ cancels.

Nothing else in your project changes: the canvas keeps its size, your frames stay as they are, and the layers underneath are untouched.

Good to know

An image larger than your canvas is scaled down to fit as it arrives (otherwise its handles would land off screen). It's named after the file, goes above the active layer, and lands on the current frame. In a pixel project it's flattened to hard-edged pixels, the same way a PNG import is.

Photoshop (.psd) import

Load a .psd and it opens as a new freeform project with your layers intact — not flattened. Layer names, groups (including nested ones), opacity, blend modes, hidden layers, clipping masks and layer masks all come across, and a layer mask stays non-destructive exactly like one you'd make here.

  • Enkava projects hold up to 48 layers. A PSD with more than that has each top-level group flattened into one layer — you keep all the artwork, you just lose some of the folder structure. You'll be told when this happens.
  • Text and smart objects arrive as ordinary painted layers (they look right, but aren't re-editable as text). Adjustment layers are skipped.
  • A few Photoshop blend modes have no web equivalent (Vivid Light, Linear Burn, Subtract and friends). Those layers import as Normal and you get a note saying which.
  • Not supported: PSB (large-document) files, and CMYK or Lab colour — convert to RGB in Photoshop first. You'll get a message rather than a silent failure.
  • This is import only; Enkava also exports a single frame to layered PSD via File → Export frame (Photoshop).
Autosave

The editor keeps every project in the browser as you work, so when you come back it opens straight into whatever you were last drawing. A crashed tab is no different from a closed one. Your other projects are all in File → "Cloud projects…" under On this device (§18A). This lives in the browser, so it's per-device — use Save for real backups and for moving between machines.

Older project files keep loading: the format only ever gains fields, and a file saved by an older version opens unchanged.

18AAccounts & cloud projects (optional)

Accounts are optional. The editor is fully functional signed out — every tool, every export, autosave and crash recovery all work exactly the same. An account adds one thing: your projects kept in the cloud, so you can carry on from another device.

Signing up

Click Sign in (top-right of the editor), or the Sign in link on the website.

  • Create account with an email and password. You'll get a confirmation email — click the link in it, and you'll land back in the editor already signed in.
  • If the link says it was already used, that usually means it worked: mail providers scan links before you click them, which spends the one-time token. Just sign in normally.
  • "Forgot your password?" emails a reset link.

Your session persists across reloads, and signing out on one tab signs you out everywhere.

Your projects (File → "Cloud projects…")

That panel has two halves.

On this device — free, unlimited, no account. Every project you draw is kept here automatically. You don't save it and you can't forget to: as soon as you draw something it appears in this list, named "Untitled", "Untitled 2" and so on.

  • Click a project to open it. Switching is safe — the one you're leaving has already been kept, whole.
  • ✎ renames. ✕ deletes it from this device (that one can't be undone).
  • Each row shows the canvas size, how much room it takes, and when you last touched it.

This is all in your browser's own storage, so it is per-browser and per-device: another computer, or clearing your browsing data, means it isn't there. For anything you'd be sorry to lose, use File → Save project to keep a real file — or sign in and put it in the cloud. If this browser ever runs out of room the panel says so in red, and until you free space your work is not being saved.

In the cloud. The lower half of the same panel.

  • Save to cloud uploads the project you're working on and links it, so later saves update that same project.
  • Click any project in the list to open it on this device. Rename and delete are on each row; ↻ refreshes.

Free accounts get 3 cloud projects and 50 MB of storage; Enkava Pro raises that to unlimited projects and 10 GB. Only what changed is uploaded on each save, so ordinary work is quick after the first upload.

Working on two devices

If the same project was changed somewhere else since you last synced, Enkava will not silently overwrite anything. It stops and asks:

  • Keep mine — overwrite the cloud copy with this device's version.
  • Keep theirs — discard this device's changes and take the cloud version.
  • Save as a copy — keep both, as two separate projects.

Nothing is lost while that choice is on screen; it's a decision, not an error.

What the cloud is and isn't

It's a convenience for moving between devices, not a substitute for saving .json files — keep your own backups of anything you care about. Autosave / crash recovery is per-browser and always local; it is not the cloud, and it doesn't need an account. Signing out clears the cloud list from the screen; your projects stay in the cloud and come back when you sign in.

19Keyboard shortcuts

Tools
BBrush
EEraser
USmudge (freeform)
GFill
Shift+GGradient
IEyedropper
SSelect
LLasso
WWand
TText (freeform)
HPan
KBones
Shift+MMesh / warp
Alt+clickTemporary eyedropper
View
0Fit to screen
+Zoom in
-Zoom out
Space/EnterHold = temporary pan
Shift+YSymmetry panel
Brush
[Smaller tip
]Larger tip
Frames / animation
NAdd frame
Shift+NAdd held frame
DDuplicate frame
,Previous frame
.Next frame
PPlay / pause
Shift+HHold/unhold active layer
OToggle prev onion ghost
XToggle origin guides
Shift+ISet the loop IN point
Shift+OSet the loop OUT point
\Clear the loop range
Edit
Ctrl+ZUndo
Ctrl+YRedo (or Ctrl+Shift+Z)
Ctrl+SSave
Ctrl+ASelect all
Ctrl+C/X/VCopy / Cut / Paste
DeleteClear selection / delete selected keyframes / delete bone / delete frame
Ctrl+dragIn the dope sheet, from a run's last key: scale that run
EscCancel / deselect / finish a Pen path
Tip

Every one of these can be remapped in Settings → Keyboard shortcuts…, including Photoshop and Procreate presets.

20A few workflow tips

  • Animate by duplicating (D) a frame and nudging it — fastest way to rough out motion.
  • Use onion skin constantly while animating; turn it off to judge the result.
  • For character animation, rig once (bones + binding), then pose across frames instead of redrawing every frame.
  • Start a rig rigid. Add a mesh only where the drawing visibly needs to bend — it's more to set up and more to get wrong.
  • You do not need a rig to squash and stretch. For a bouncing ball, a wobble, a stretched anticipation pose — add a mesh (Shift+M) and drag its points. Key the first frame at rest so it animates out of rest rather than holding.
  • Give a walk cycle an IK goal on each foot: the feet stay planted while you animate the hips, which is far easier than posing every joint by hand.
  • Record a cycle as an Action once, then stamp it wherever it's needed instead of re-animating it.
  • Turn on symmetry before roughing out anything with a mirror line — a face, a character front-on, wings, an icon. Block in one half, then switch it off to break the symmetry and stop the result looking machine-made.
  • Reach for holds to keep pieces still while others move — it's cheaper and reads better than animating everything on ones.
  • Use the camera for push-ins and pans instead of moving every layer by hand, and give layers different Z so the move gains depth for free.
  • Save a .json regularly; autosave is a safety net, not a backup.

That's the whole toolset today. Happy animating.