Reference · Keyboard shortcuts
LibreSprite keyboard shortcuts
Every default shortcut in LibreSprite 1.3, taken straight from the app’s own data/gui.xml, so nothing here is guessed or copied from Aseprite. Explore them on a live keyboard, search them by what you want to do, or print a one-page sheet.
On this page 12 sections
Short answer
What are the most useful LibreSprite shortcuts?
B Pencil, E Eraser, G Paint Bucket, I Eyedropper (or hold Alt), M selection, V Move. + / - change the brush size, 1–6 zoom from 100 % to 3200 %, X swaps colours. Tab shows the timeline, Alt+N adds a frame, Enter plays, F3 toggles onion skin. On a Mac, use Cmd where Windows and Linux use Ctrl. Change any of them in Edit → Keyboard Shortcuts.
Live keyboard map
Orange keys do something on their own. Hold Shift, Ctrl or Alt on your own keyboard (or click them below) to see the next layer. Your Mac or PC is detected; switch the labels if needed.
Shortcut Finder
Search in plain words: “onion”, “brush size”, “fill”, “select all”. You can also type a key, like “Ctrl+E”. It holds all 206 key bindings in 1.3, grouped by action (several actions have two keys). Commands with no default key are included too; you can give them one yourself.
| Action | Windows / Linux | macOS |
|---|---|---|
| File | ||
| New | Ctrl+N | Cmd+N |
| Open | Ctrl+O | Cmd+O |
| Save | Ctrl+S | Cmd+S |
| Save As | Ctrl+Shift+S | Cmd+Shift+S |
| Export | Ctrl+Alt+Shift+S | Cmd+Alt+Shift+S |
| Close | Ctrl+W | Cmd+W |
| Close All | Ctrl+Shift+W | Cmd+Shift+W |
| Import Sprite Sheet | Ctrl+Alt+I | Cmd+Alt+I |
| Export Sprite Sheet | Ctrl+Alt+E | Cmd+Alt+E |
| Repeat Last Export | Ctrl+Shift+X | Cmd+Shift+X |
| Exit | Ctrl+QorAlt+F4 | Cmd+QorAlt+F4 |
| Edit | ||
| Undo | Ctrl+ZorCtrl+U | Cmd+ZorCmd+U |
| Redo | Ctrl+YorCtrl+RorCtrl+Shift+Z | Cmd+YorCmd+RorCmd+Shift+Z |
| Cut | Ctrl+XorShift+Del | Cmd+XorShift+Del |
| Copy | Ctrl+CorCtrl+Ins | Cmd+CorCmd+Ins |
| Copy Merged | Ctrl+Shift+C | Cmd+Shift+C |
| Paste | Ctrl+VorShift+Ins | Cmd+VorShift+Ins |
| Edit: Clear | DelorBackspace | DelorBackspace |
| Flip Horizontal | Shift+H | Shift+H |
| Flip Vertical | Shift+V | Shift+V |
| Replace Color | Shift+R | Shift+R |
| Convolution Matrix | F9 | F9 |
| Color Curve | Ctrl+MorF10 | Cmd+MorF10 |
| Insert Text | T | T |
| Preferences | Ctrl+KorCtrl+Shift+O | Cmd+,orCmd+Shift+O |
| Keyboard Shortcuts | Ctrl+Alt+Shift+K | Cmd+Alt+Shift+K |
| Transform selection | Ctrl+T | Cmd+T |
| New Sprite from Selection | Ctrl+Alt+N | Cmd+Alt+N |
| Sprite | ||
| Sprite: Properties | Ctrl+P | Cmd+P |
| Canvas Size | C | C |
| Layer | ||
| Layer: Properties | Shift+P | Shift+P |
| Layer: Visible | Shift+X | Shift+X |
| New Layer | Ctrl+Shift+N | Cmd+Shift+N |
| Layer: Duplicate | Ctrl+J | Cmd+J |
| Merge Down | Ctrl+E | Cmd+E |
| Flatten | Ctrl+Shift+E | Cmd+Shift+E |
| Layer below | Down | Down |
| Layer above | Up | Up |
| Frame | ||
| New Frame | Alt+N | Alt+N |
| New Empty Frame | Alt+B | Alt+B |
| Duplicate Linked Cel(s) | Alt+MorAlt+Shift+D | Alt+MorAlt+Shift+D |
| Duplicate Cel(s) | Alt+D | Alt+D |
| Remove Frame | Alt+Shift+C | Alt+Shift+C |
| Frame Properties | P | P |
| Reverse Frames | Alt+I | Alt+I |
| First Frame | Home | Home |
| Previous Frame | Left | Left |
| Next Frame | Right | Right |
| Previous frame in tag | , | , |
| Next frame in tag | . | . |
| Last Frame | End | End |
| Go to Frame | Alt+G | Alt+G |
| Play Animation | Enter | Enter |
| Select | ||
| Select: All | Ctrl+A | Cmd+A |
| Deselect | Ctrl+D | Cmd+D |
| Reselect | Ctrl+Shift+D | Cmd+Shift+D |
| Select: Inverse | Ctrl+Shift+I | Cmd+Shift+I |
| View | ||
| Refresh & Reload Skin | F5 | F5 |
| View: Preview | F7 | F7 |
| Fullscreen Preview | F8 | F8 |
| View: Grid | Shift+G | Shift+G |
| Pixel Grid | Alt+Shift+G | Alt+Shift+G |
| Snap to Grid | Shift+S | Shift+S |
| Tiled in Both Axes | Shift+T | Shift+T |
| Set Loop Section | F2 | F2 |
| Show Onion Skin | F3 | F3 |
| View: Timeline | Tab | Tab |
| View: Extras | Ctrl+H | Cmd+H |
| Scripts | ||
| Scripting Console | F12 | F12 |
| Tools | ||
| Rectangular Marquee | M | M |
| Elliptical Marquee | Shift+M | Shift+M |
| Lasso | Q | Q |
| Polygonal Lasso | Shift+Q | Shift+Q |
| Magic Wand | W | W |
| Pencil | B | B |
| Spray | Shift+B | Shift+B |
| Eraser | E | E |
| Eyedropper | I | I |
| Hand | H | H |
| Move | V | V |
| Zoom | Z | Z |
| Paint Bucket | G | G |
| Line | L | L |
| Curve | Shift+L | Shift+L |
| Rectangle | U | U |
| Filled Rectangle | U | U |
| Ellipse | Shift+U | Shift+U |
| Filled Ellipse | Shift+U | Shift+U |
| Contour | D | D |
| Polygon | Shift+D | Shift+D |
| Blur | R | R |
| Jumble | R | R |
| Hold while drawing | ||
| Hold for Eyedropper | Alt | Alt |
| Hold for Move | Ctrl | Cmd |
| Hold for Hand | Space | Space |
| Colours, brushes and inks | ||
| Palette Editor | F4 | F4 |
| Swap foreground and background colours | X | X |
| Previous palette colour (foreground) | 9or[ | 9or[ |
| Next palette colour (foreground) | 0or] | 0or] |
| Previous palette colour (background) | Ctrl+9 | Ctrl+9 |
| Next palette colour (background) | Ctrl+0 | Ctrl+0 |
| Brush size + | +or=orPlus Pad | +or=orPlus Pad |
| Brush size − | -orMinus Pad | -orMinus Pad |
| Custom brush 1 | Alt+1 | Alt+1 |
| Custom brush 2 | Alt+2 | Alt+2 |
| Custom brush 3 | Alt+3 | Alt+3 |
| Custom brush 4 | Alt+4 | Alt+4 |
| Custom brush 5 | Alt+5 | Alt+5 |
| Custom brush 6 | Alt+6 | Alt+6 |
| Custom brush 7 | Alt+7 | Alt+7 |
| Custom brush 8 | Alt+8 | Alt+8 |
| Custom brush 9 | Alt+9 | Alt+9 |
| New Brush | Ctrl+B | Cmd+B |
| Pixel perfect mode | none by default | none by default |
| Simple Ink | none by default | none by default |
| Alpha Compositing | none by default | none by default |
| Copy Alpha+Color | none by default | none by default |
| Lock Alpha | none by default | none by default |
| Shading | none by default | none by default |
| Same in all Tools | none by default | none by default |
| Color Tint/Shade/Tone | none by default | none by default |
| Color Spectrum | none by default | none by default |
| RGB Color Wheel | none by default | none by default |
| RYB Color Wheel | none by default | none by default |
| Load Palette | none by default | none by default |
| Save Palette | none by default | none by default |
| Create Palette from Current Sprite | none by default | none by default |
| Add color (fg) | none by default | none by default |
| Add color (bg) | none by default | none by default |
| Zoom and scroll | ||
| Zoom 50 % | ~ | ~ |
| Zoom 100 % | 1 | 1 |
| Zoom 200 % | 2 | 2 |
| Zoom 400 % | 3 | 3 |
| Zoom 800 % | 4 | 4 |
| Zoom 1600 % | 5 | 5 |
| Zoom 3200 % | 6 | 6 |
| Zoom in | Ctrl++orCtrl+=orCtrl+Shift+= | Cmd++orCmd+=orCmd+Shift+= |
| Zoom out | Ctrl+- | Cmd+- |
| Centre the view | Shift+C | Shift+C |
| Scroll view ← | Space+Left | Space+Left |
| Scroll view → | Space+Right | Space+Right |
| Scroll view ↑ | Space+Up | Space+Up |
| Scroll view ↓ | Space+Down | Space+Down |
| Scroll view ← by a grid tile | Shift+Space+Left | Shift+Space+Left |
| Scroll view → by a grid tile | Shift+Space+Right | Shift+Space+Right |
| Scroll view ↑ by a grid tile | Shift+Space+Up | Shift+Space+Up |
| Scroll view ↓ by a grid tile | Shift+Space+Down | Shift+Space+Down |
| Selection (nudge) | ||
| Nudge selection ← 1 px | Left | Left |
| Nudge selection → 1 px | Right | Right |
| Nudge selection ↑ 1 px | Up | Up |
| Nudge selection ↓ 1 px | Down | Down |
| Nudge selection ← by a grid tile | Shift+Left | Shift+Left |
| Nudge selection → by a grid tile | Shift+Right | Shift+Right |
| Nudge selection ↑ by a grid tile | Shift+Up | Shift+Up |
| Nudge selection ↓ by a grid tile | Shift+Down | Shift+Down |
| Move selection outline ← 1 px | Alt+Left | Alt+Left |
| Move selection outline → 1 px | Alt+Right | Alt+Right |
| Move selection outline ↑ 1 px | Alt+Up | Alt+Up |
| Move selection outline ↓ 1 px | Alt+Down | Alt+Down |
| Move selection outline ← by a grid tile | Alt+Shift+Left | Alt+Shift+Left |
| Move selection outline → by a grid tile | Alt+Shift+Right | Alt+Shift+Right |
| Move selection outline ↑ by a grid tile | Alt+Shift+Up | Alt+Shift+Up |
| Move selection outline ↓ by a grid tile | Alt+Shift+Down | Alt+Shift+Down |
| Select tile | none by default | none by default |
| Select tile (add) | none by default | none by default |
| Select tile (subtract) | none by default | none by default |
| Tabs and window | ||
| Advanced mode (cycle hiding panels) | F11 | F11 |
| Cancel / close | Esc | Esc |
| Next tab | Ctrl+TaborCtrl+PgDn | Ctrl+TaborCtrl+PgDn |
| Previous tab | Ctrl+Shift+TaborCtrl+PgUp | Ctrl+Shift+TaborCtrl+PgUp |
| Toggle Fullscreen | Shift+F | Shift+F |
No shortcut matches. Many commands have no default key; you can give them one in Edit → Keyboard Shortcuts.
The 30 to learn first
If you only learn a handful, learn these. They cover drawing, colour, view and animation, which is most of what you do in a sprite editor.
| Action | Windows / Linux | macOS |
|---|---|---|
| Pencil | B | B |
| Eraser | E | E |
| Paint Bucket | G | G |
| Eyedropper | IorAlt | IorAlt |
| Hold for Eyedropper | Alt | Alt |
| Rectangular Marquee | M | M |
| Magic Wand | W | W |
| Move | VorCtrl | VorCmd |
| Line | L | L |
| Rectangle | U | U |
| Brush size + | +or=orPlus Pad | +or=orPlus Pad |
| Brush size − | -orMinus Pad | -orMinus Pad |
| Swap foreground and background colours | X | X |
| Undo | Ctrl+ZorCtrl+U | Cmd+ZorCmd+U |
| Redo | Ctrl+YorCtrl+RorCtrl+Shift+Z | Cmd+YorCmd+RorCmd+Shift+Z |
| Select: All | Ctrl+A | Cmd+A |
| Deselect | Ctrl+D | Cmd+D |
| Zoom 100 % | 1 | 1 |
| Zoom 800 % | 4 | 4 |
| Hold for Hand | Space | Space |
| View: Grid | Shift+G | Shift+G |
| View: Timeline | Tab | Tab |
| New Frame | Alt+NorAlt+Shift+D | Alt+NorAlt+Shift+D |
| New Layer | Ctrl+Shift+N | Cmd+Shift+N |
| Play Animation | Enter | Enter |
| Show Onion Skin | F3 | F3 |
| Next Frame | Right | Right |
| Save | Ctrl+S | Cmd+S |
| Export | Ctrl+Alt+Shift+S | Cmd+Alt+Shift+S |
| Export Sprite Sheet | Ctrl+Alt+E | Cmd+Alt+E |
Tool keys and how they cycle
Tools that share a key are grouped. Press the key once to pick the first tool in the group, and again to switch to the next one. U goes Rectangle → Filled Rectangle, Shift+U Ellipse → Filled Ellipse, R Blur → Jumble.
| Tool | Group | Key |
|---|---|---|
| Rectangular Marquee | Selection | M |
| Elliptical Marquee | Selection | Shift+M |
| Lasso | Selection | Q |
| Polygonal Lasso | Selection | Shift+Q |
| Magic Wand | Selection | W |
| Pencil | Pencil & Spray | B |
| Spray | Pencil & Spray | Shift+B |
| Eraser | Eraser | E |
| Eyedropper | Eyedropper | I |
| Zoom | Zoom & Hand | Z |
| Hand | Zoom & Hand | H |
| Move | Move | V |
| Paint Bucket | Paint Bucket | G |
| Line | Line & Curve | L |
| Curve | Line & Curve | Shift+L |
| Rectangle | Shapes | U |
| Filled Rectangle | Shapes | U |
| Ellipse | Shapes | Shift+U |
| Filled Ellipse | Shapes | Shift+U |
| Contour | Contour & Polygon | D |
| Polygon | Contour & Polygon | Shift+D |
| Blur | Blur & Jumble | R |
| Jumble | Blur & Jumble | R |
From data/gui.xml in LibreSprite 1.3. Pressing a group’s key again cycles through the tools that share it (for example U: Rectangle, Filled Rectangle).
Tool details and options: every tool explained.
Hold-down keys and mouse tricks
These work while you hold a key with the mouse over the canvas. They come from the quicktools and actions sections of gui.xml.
| Hold | While | Effect |
|---|---|---|
| Alt | any drawing tool | Temporarily switch to the Eyedropper; click to pick a colour |
| Ctrl (Cmd on Mac) | any tool | Temporarily switch to the Move tool |
| Space | any tool | Temporarily switch to the Hand: drag to pan |
| Shift | Pencil, Eraser (freehand) | Click to draw a straight line from the last point you drew |
| Shift | Line, Rectangle, Ellipse | Square or circle, and lines snap to pixel-art angles |
| Ctrl | Rectangle, Ellipse | Draw from the centre |
| Space | while dragging a shape or line | Move the starting point |
| Shift / Shift+Alt | selection tools | Add to / subtract from the selection |
| Ctrl | dragging a selection | Copy instead of move |
| Shift | moving a selection | Lock movement to one axis |
| Alt | moving a selection | Snap to the grid |
| Shift | scaling / rotating a selection | Keep the aspect ratio / snap the angle |
| Alt | scaling a selection | Scale from the pivot point |
| Ctrl (Cmd) | Move tool | Auto-select the layer under the cursor |
Mouse: the left button paints with the foreground colour, the right button with the background colour. The mouse wheel zooms. In the palette, left-click sets the foreground colour and right-click sets the background colour.
Arrow keys depend on what you are doing
- ← / → go to the previous / next frame, and ↑ / ↓ to the layer above / below.
- While a selection is being moved or transformed, the arrows nudge it 1 pixel. With Shift, it moves one grid tile. With Alt, only the selection outline moves, not the pixels.
- Space + arrows scroll the view (Shift+Space + arrows by a whole grid tile). Shift+C centres the sprite again.
- , and . step through the frames of the current tag only.
Change or reset shortcuts
Open Edit → Keyboard Shortcuts… (Ctrl+Alt+Shift+K). The dialog has a search box and lists Menus, Commands, Tools and Actions. Point at an entry and use its Change, Add or Del button to record, add or remove a key. Export saves your set as a .aseprite-keys file, Import loads one, and Reset restores the defaults.

Your changes are stored in user.aseprite-keys in the settings folder (~/.config/libresprite/ on Linux, %AppData%\LibreSprite\ on Windows, ~/Library/Application Support/LibreSprite/ on macOS). Deleting that file also restores the defaults. Shortcuts that stopped working altogether? See keyboard shortcuts don’t work.
On a Mac
- Cmd replaces Ctrl almost everywhere: Cmd+Z, Cmd+S, Cmd+Shift+N.
- Exceptions that stay on Ctrl in 1.3: switching tabs (Ctrl+Tab, Ctrl+PgUp / Ctrl+PgDn) and stepping the background colour (Ctrl+9 / Ctrl+0).
- Preferences is Cmd+, (Ctrl+K elsewhere). Alt+F4 to quit is Windows-only; use Cmd+Q.
- Alt is the Option key. Laptops without Home / End / PgUp / PgDn keys: use Fn with the arrow keys.
On a laptop or non-US keyboard
- No number pad? Brush size also works with +, = and - on the main row.
- LibreSprite reads [, ], ~, - and = by key position on a US layout. On AZERTY, QWERTZ and other layouts those keys may sit elsewhere or need a modifier. If one doesn’t respond, give the command a new key in Edit → Keyboard Shortcuts.
- ~ (the key left of 1) zooms to 50 %.
Differences from Aseprite
LibreSprite forked from Aseprite in 2016, and the two have drifted apart. If your muscle memory comes from a current Aseprite, these are the defaults that will catch you out:
| Action | LibreSprite 1.3 | Aseprite 1.3.18.6 |
|---|---|---|
| New layer | Ctrl+Shift+N | Shift+N |
| Merge down | Ctrl+E | none |
| Duplicate layer | Ctrl+J | none |
| Flatten | Ctrl+Shift+E | none |
| Export sprite sheet | Ctrl+Alt+E | Ctrl+E |
| Import sprite sheet | Ctrl+Alt+I | Ctrl+I |
| Remove frame | Alt+Shift+C | Alt+C |
| Show grid | Shift+G | Ctrl+' |
| Show pixel grid | Alt+Shift+G | Ctrl+Shift+' |
| Centre the view | Shift+C | Shift+Z |
| Advanced mode | F11 | Ctrl+F |
| Undo | Ctrl+U Ctrl+Z | Ctrl+Z |
| Hue/Saturation | none | Ctrl+U |
| Text | T | none |
| Text tool | none | T |
| Scripting console | F12 | none |
| Deselect | Ctrl+D | Ctrl+D Esc |
| Fit on screen | none | Ctrl+0 |
| Sprite size | none | Ctrl+Alt+I |
| Outline | none | Shift+O |
Compared from each program’s data/gui.xml (LibreSprite tag v1.3, Aseprite tag v1.3.18.6): 137 bindings are identical, 15 differ, 12 exist only in LibreSprite and 54 only in Aseprite (mostly for features LibreSprite does not have).
The biggest trap is Ctrl+E: it is Merge Down in LibreSprite but Export Sprite Sheet in Aseprite. Aseprite also has keys for features LibreSprite lacks, such as layer groups, tilemaps, the gradient and slice tools, and the command palette. Full comparison: LibreSprite vs Aseprite.
Printable cheat sheet
Windows and Linux keys; on a Mac read Cmd for Ctrl. It prints on one A4 or Letter page without the rest of this page.
Tools
- B
- Pencil
- E
- Eraser
- G
- Paint Bucket
- I Alt
- Eyedropper
- L
- Line
- U
- Rectangle
- Shift+U
- Ellipse
- M
- Rectangular Marquee
- W
- Magic Wand
- Q
- Lasso
- V Ctrl
- Move
- Shift+B
- Spray
Brush & colour
- + =
- Brush size +
- - Minus Pad
- Brush size −
- X
- Swap foreground and background colours
- 0 ]
- Next palette colour (foreground)
- 9 [
- Previous palette colour (foreground)
- F4
- Palette Editor
- Shift+R
- Replace Color
- Alt
- Hold for Eyedropper
View
- 1
- Zoom 100 %
- 2
- Zoom 200 %
- 3
- Zoom 400 %
- 4
- Zoom 800 %
- Space
- Hold for Hand
- Shift+C
- Centre the view
- Shift+G
- View: Grid
- Alt+Shift+G
- Pixel Grid
- Shift+T
- Tiled in Both Axes
- F7
- View: Preview
Edit & select
- Ctrl+Z Ctrl+U
- Undo
- Ctrl+Y Ctrl+R
- Redo
- Ctrl+C Ctrl+Ins
- Copy
- Ctrl+V Shift+Ins
- Paste
- Ctrl+X Shift+Del
- Cut
- Ctrl+A
- Select: All
- Ctrl+D
- Deselect
- Ctrl+Shift+I
- Select: Inverse
- Ctrl+T
- Transform selection
- Shift+H
- Flip Horizontal
Layers
- Ctrl+Shift+N
- New Layer
- Ctrl+J
- Layer: Duplicate
- Ctrl+E
- Merge Down
- Shift+X
- Layer: Visible
- Shift+P
- Layer: Properties
- Up
- Layer above
- Down
- Layer below
Animation
- Tab
- View: Timeline
- Alt+N Alt+Shift+D
- New Frame
- Alt+B
- New Empty Frame
- Alt+Shift+C
- Remove Frame
- Right
- Next Frame
- Left
- Previous Frame
- Enter
- Play Animation
- F3
- Show Onion Skin
- P
- Frame Properties
File
- Ctrl+N
- New
- Ctrl+O
- Open
- Ctrl+S
- Save
- Ctrl+Shift+S
- Save As
- Ctrl+Alt+Shift+S
- Export
- Ctrl+Alt+E
- Export Sprite Sheet
- Ctrl+Shift+X
- Repeat Last Export
- Ctrl+K Ctrl+Shift+O
- Preferences
LibreSprite 1.3 defaults, from data/gui.xml · libresprite.dev/shortcuts/
FAQ
What is the brush size shortcut in LibreSprite?
+ (or =) makes the brush bigger and - makes it smaller, one pixel at a time. The number-pad + and - work too. Alt+1 to Alt+9 switch to saved custom brushes.
What is the fill shortcut?
G selects the Paint Bucket; click to fill. LibreSprite 1.3 has no “fill selection” key like Aseprite’s F. Fill a selection by clicking inside it with the bucket.
How do I zoom with the keyboard?
1 to 6 jump to 100, 200, 400, 800, 1600 and 3200 %, ~ to 50 %. Ctrl++ / Ctrl+- zoom in and out step by step.
How do I deselect?
Ctrl+D (Select → Deselect). Ctrl+Shift+D brings the last selection back. Esc is Cancel in 1.3, not Deselect as in Aseprite.
Why does Ctrl+E merge my layers?
In LibreSprite Ctrl+E is Layer → Merge Down. Undo with Ctrl+Z. Export Sprite Sheet is Ctrl+Alt+E.
Where is the list of shortcuts inside LibreSprite?
Edit → Keyboard Shortcuts (Ctrl+Alt+Shift+K) lists and edits them all. Menu items also show their key next to the name.
My panels disappeared. What did I press?
Probably F11, Advanced mode. It cycles from normal, to hiding the tool and colour panels, to showing only the canvas. Press F11 until everything is back. Tab shows or hides just the timeline.
Keep going
Found something wrong or out of date? Tell us: hello@libresprite.dev. We fix mistakes within a day.