# Inkscape keyboard and mouse reference

Version 0.92
Last revision: 2018-03-05

This document describes the default keyboard and mouse shortcuts of Inkscape, corresponding to the share/keys/default.xml file in your Inkscape installation. Some of the keyboard shortcuts may not be available for non-US keyboard layouts, but most (not all) of these shortcuts are configurable by the user. You can create custom shortcuts and load custom keyboard shortcut files in the Inkscape Preferences, or by following the instructions in the default.xml file.

Unless noted otherwise, keypad keys (such as arrows, Home, End, +, -, digits) are supposed to work the same as corresponding regular keys. If you have a new shortcut idea, please contact the developers (by writing to the devel mailing list or by submitting a feature request).

## Tools

F1, s | Selector
Space | Selector (temporary)
Space switches to the Selector tool temporarily; another Space switches back.
When the "Mouse move pans when Space is pressed" option is on in Preferences, Space+mouse drag pans canvas instead of switching to/from Selector.
F2, n | Node tool
Shift+F2, w | Tweak tool
F3, z | Zoom tool
n | Measure tool
F4, r | Rectangle tool
Shift+F4, x | 3D box tool
F5, e | Ellipse/arc tool
Shift+F9, * | Star tool
F9, i | Spiral tool
F6, p | Pencil (Freehand) tool
Shift+F6, b | Pen (Bezier) tool
Ctrl+F6, c | Calligraphy tool
F8, t | Text tool
Shift+F3, a | Spray tool
Shift+E | Eraser tool
Shift+F7, u | Paint Bucket tool
Ctrl+F1, g | Gradient tool
F7, d | Dropper tool
Ctrl+F2, o | Connector tool
Double click on the tool buttons opens the Preferences dialog showing the page of the corresponding tool.

## Dialogs

### Open

Shift+Ctrl+F | Fill and Stroke
Shift+Ctrl+W | Swatches
Shift+Ctrl+T | Text and Font
Shift+Ctrl+M | Transform
Shift+Ctrl+L | Layers
Shift+Ctrl+A | Align and Distribute
Shift+Ctrl+O | Object Properties
Shift+Ctrl+H | Undo History
Shift+Ctrl+X | XML Editor
Shift+Ctrl+D | Document Properties
Shift+Ctrl+P | Inkscape Preferences
Shift+Ctrl+E | Export to PNG
Ctrl+F | Find
Shift+Alt+B | Trace Bitmap
Shift+Ctrl+7 | Path Effects
Ctrl+Alt+K | Check Spelling
These shortcuts open a new dialog window if it wasn't open yet, otherwise the corresponding dialog gets focus.

### Toggle visibility

F12 | toggle dialogs
This temporarily hides all open dialogs; another F12 shows them again.

### Within a dialog

Esc | return to the canvas
Ctrl+F4, Ctrl+W | close the dialog
Tab | jump to next widget
Shift+Tab | jump to previous widget
Enter | set the new value
This accepts the new value you typed in a text field and returns focus to canvas.
Space, Enter | activate current button or list
Ctrl+PgUp, Ctrl+PgDn | in a multi-tab dialog, switch tabs
Ctrl+F | open a search field in a dialog with a list
Start typing to select the first match. In some dialogs, this will only find elements starting with the search term (e.g. Text and Font), in others (e.g. XML editor), it will find all elements that contain the search term. Use the up/down arrows to select the next matching element.

### XML editor

* | expand all children and subchildren of the currently selected element
+ | expand direct children of the currently selected element
- | collapse the currently selected element
Home, End | select the topmost/lowermost visible element in the list
Up arrow, Down arrow | select the previous/next visible element in the list
PgUp, PgDn | select element on previous/next page of list
Ctrl+Enter | set the attribute's value
When editing an attribute value in XML Editor, this sets the new value (same as clicking the "Set attribute" button).

## Tool controls bar

### Access

The tool controls bar at the top of the document window provides different buttons and controls for each tool.
Alt+X | jump to the first editable field

### Navigate

Tab | jump to next field
Shift+Tab | jump to previous field
Use these to navigate between fields in the tool controls bar (the value in the field you leave, if changed, is accepted).

### Change values

Up arrow, Down arrow | change value by 0.1
PgUp, PgDn | change value by 5.0
Enter | accept the new value
This accepts the new value you typed in a text field and returns focus to canvas.
Esc | cancel changes, return to canvas
This cancels any changes you made in a text field and returns focus to canvas.
Ctrl+Z | cancel changes
This cancels any changes you made in a text field but you stay in the field.

## Canvas

### Zoom

=, + | zoom in
- | zoom out
The keypad +/- keys do zooming even when you are editing a text object, unless NumLock is on.
middle click, Ctrl+right click | zoom in
Shift+middle click, Shift+right click | zoom out
Ctrl+mouse wheel | zoom in or out
When the "Mouse wheel zooms by default" option is on in Preferences, Ctrl+wheel scrolls instead of zooming. To zoom, use wheel without Ctrl.
Shift+middle button drag | zoom into the area
Alt+Z | activate zoom field
The zoom field in the lower right corner of the window allows you to specify zoom level precisely.
Q | quick zoom
Zooms to selection, or doubles the current zoom factor if nothing is selected, until key is released.

### Preset zooms

1 | zoom 1:1
2 | zoom 1:2
3 | zoom to selection
4 | zoom to drawing
5 | zoom to page
Ctrl+E, 6 | zoom to page width

### Zoom history

` | (back quote) previous zoom
Shift+` | next zoom
With these keys, you can travel back and forth through the history of zooms in this session.

### Scroll (pan)

Ctrl+arrows | scroll canvas
Scrolling by keys is accelerated, i.e. it speeds up when you press Ctrl+arrows in quick succession, or press and hold.
middle button drag | pan canvas
Shift+right button drag, Ctrl+right button drag | pan canvas
mouse wheel | scroll canvas vertically
When the "Mouse wheel zooms by default" option is on in Preferences, mouse wheel zooms instead of scrolling. To scroll, use Ctrl+wheel.
Shift+mouse wheel | scroll canvas horizontally
When the "Left mouse button pans when Space is pressed" option is on in Preferences, Space+mouse drag also pans canvas.

### Guides, grids, snapping

mouse drag | drag off a ruler to create guide
Drag off the horizontal or vertical ruler to create a new guideline. Drag a guideline onto the ruler to delete it.
mouse drag | drag a guide to move it
Shift+mouse drag | drag a guide (not near anchor) to rotate it
Shift+Ctrl+mouse drag | rotate guide with angle snapping
Del | delete guide
|, Shift+\ | toggle guide visibility
For activating / deactivating snapping to guides, use the snap bar or the global snapping toggle (% key).
When you create a new guide by dragging off the ruler, guide visibility is automatically turned on.
#, Shift+3 | toggle grids visibility
For activating / deactivating snapping to grids, use the snap bar or the global snapping toggle (% key).
Note that only the 3 key on the main keyboard works, not on the keypad.
% | toggle snapping on and off
This toggle affects snapping to grids, guides, and objects in all tools. The settings in the snap bar determine which snap targets and snapping points will snap.

### Display mode

Ctrl+keypad 5 | toggle normal/no filters/outline mode

## Palette

These keys work both in the floating palette dialog and in the palette frame at the bottom of the window.
click | set fill color on selection
Shift+click | set stroke color on selection
right click | open pop-up menu
mouse drag | drag fill color to objects
Shift+mouse drag | drag stroke color to objects
To change fill/stroke of an object by dragging color on it, that object need not be selected.
You can also drag colors to the Fill (F) and Stroke (S) indicators in the statusbar to change the selection.
mouse wheel | scroll palette

## File

Ctrl+N | create new document
Ctrl+O | open a document
Shift+Ctrl+E | export to PNG
Ctrl+I | import bitmap or vector
Ctrl+P | print document
Ctrl+S | save document
Shift+Ctrl+S | save under a new name
Shift+Ctrl+Alt+S | save a copy
Ctrl+Q | exit Inkscape

## Window

Ctrl+R | toggle rulers
Ctrl+B | toggle scrollbars
Shift+Alt+P | toggle palette
F11 | toggle fullscreen
Shift+F11 | toggle toolbars
Ctrl+F11 | toggle toolbars and fullscreen
F10 | main menu
Menus can also be activated by Alt with the letter underscored in the menu name.
Shift+F10, right click | drop-down (context) menu
Ctrl+F4, Ctrl+W | close document window
This shuts down Inkscape if it was the only document window open.
Ctrl+Tab | next document window
Shift+Ctrl+Tab | previous document window
These cycle through the active document windows forward and backward.

## Extensions

Alt+Q | previous extension
Shift+Alt+Q | previous extension settings

## Layers

Shift+Ctrl+N | create new layer
Shift+PgUp | move to layer above
Shift+PgDn | move to layer below
These commands move the selected objects from one layer to another.
Shift+Ctrl+PgUp | raise layer
Shift+Ctrl+PgDn | lower layer
Shift+Ctrl+Home | raise layer to top
Shift+Ctrl+End | lower layer to bottom
These commands move the current layer among its siblings (normally other layers).

### Hide/lock

Shift+click | select a layer and toggle visibility (eye icon) or lock status (lock icon) on the other layers
Shift+Alt+click | toggle visibility (eye icon) or lock status (lock icon) on the unselected layers
These commands apply to the Layers dialog's icons only.

## Object

### Undo/redo

Shift+Ctrl+Y, Ctrl+Z | undo
Shift+Ctrl+Z, Ctrl+Y | redo

### Clipboard

Ctrl+C, Ctrl+Ins | copy selection
Ctrl+X, Shift+Del | cut selection
Ctrl+V, Shift+Ins | paste clipboard
This places the clipboard objects at the mouse cursor, or at the center of the window if mouse is outside the canvas.
When editing text with the text tool, this pastes the text from the clipboard into the current text object.
Ctrl+Alt+V | paste in place
This places the clipboard objects into the original location from which they were copied.
Shift+Ctrl+V | paste style
This applies the style of the (first of the) copied object(s) to the current selection.
If a gradient handle (in Gradient tool) or a text span (in Text tool) are selected, they get the style instead of the entire object.
Ctrl+7 | paste path effect
This applies the path effect of the copied path to the paths/shapes in the current selection.

### Duplicate

Ctrl+D | duplicate selection
New object(s) are placed exactly over the original(s) and selected.

### Clone

Alt+D | clone object
A clone can be moved/scaled/rotated/skewed independently, but it updates the path, fill, and stroke from its original.
The clone is placed exactly over the original object and is selected.
You can only clone one object at a time; if you want to clone several objects together, group them and clone the group.
Shift+Alt+D | unlink clone
Unlinking a clone cuts the link to the original, turning the clone into a plain copy.
Shift+D | select original
To find out which object this is a clone of, select the clone and give this command. The original will be selected.

### Bitmaps

Alt+B | create a bitmap copy
This exports the selected object(s) (all other objects hidden) as PNG in the document's directory and imports it back as embedded bitmap.
The imported bitmap is placed over the original selection and is selected.
Shift+Alt+B | trace bitmap
This opens the Trace Bitmap dialog allowing you to convert a bitmap object to path(s).

### Patterns

Alt+I | object(s) to pattern
This converts the selection to a rectangle with tiled pattern fill.
Shift+Alt+I | pattern to object(s)
Each selected object with pattern fill is broken into the same object without fill and a single pattern object.

### Guides

Shift+G | object(s) to guide(s)

### Group

Shift+Ctrl+U, Ctrl+G | group selected objects
Use Ctrl+click to select objects within group.
Shift+Ctrl+G, Ctrl+U | ungroup selected group(s)
This removes only one level of grouping; press Ctrl+U repeatedly to ungroup nested groups.

### Align

Ctrl+Alt+H | center selected objects on vertical axis
Ctrl+Alt+T | center selected objects on horizontal axis
Ctrl+Alt+keypad 5 | center selected objects on horizontal and vertical axis
Ctrl+Alt+keypad 4 | align left edges of selected objects
Ctrl+Alt+keypad 8 | align top edges of selected objects
Ctrl+Alt+keypad 6 | align right edges of selected objects
Ctrl+Alt+keypad 2 | align bottom edges of selected objects
Objects are aligned relative to the anchor point set in the "Relative to" field in the "Align and Distribute" dialog.

### Z-order

Home | raise selection to top
End | lower selection to bottom
PgUp | raise selection one step
PgDn | lower selection one step

## Path

### Convert to path

Shift+Ctrl+C | convert selected object(s) to path
Ctrl+Alt+C | convert stroke to path

### Boolean operations

Ctrl++ | union
Union combines any number of objects into a single path, removing overlaps.
Ctrl+- | difference
Difference works on 2 objects, extracting the top from the bottom.
Ctrl+* | intersection
Intersection creates a path representing the common (overlapping) area of all selected objects.
Ctrl+^ | exclusive OR (XOR)
XOR is similar to Union, except that it works on 2 objects and removes areas where the objects overlap.
Ctrl+/ | division (cut)
Division cuts the bottom object into pieces by the top object, preserving the fill and stroke of the bottom.
Ctrl+Alt+/ | cut path
Cut Path cuts the bottom object's stroke only where it is intersected by the top path, removing any fill from the result.
The result of Union, Difference, Intersection, and XOR inherits the id= attribute and therefore the clones of the bottom object.
Division and Cut path normally produce several objects; of them, a random one inherits the id= of the bottom source object.

### Offsets

Ctrl+( | inset path (towards center)
Ctrl+) | outset path (away from center)
The default offset distance is 2 px (SVG pixel units, not screen pixels).
Alt+( | inset path by 1 pixel
Alt+) | outset path by 1 pixel
Shift+Alt+( | inset path by 10 pixels
Shift+Alt+) | outset path by 10 pixels
The actual distance for pixel offsets depends on zoom level. Zoom in for finer adjustment.
All the (, ) commands convert the object to path, if necessary, and produce regular path.
Ctrl+J | create dynamic offset
Ctrl+Alt+J | create linked offset
These commands produce an offset object, editable by the node tool, standalone or linked to the original.
Shift+D | select source
Selecting a linked offset and giving this command will select the source path of the linked offset.

### Combine

Ctrl+K | combine paths
This is different from grouping in that combined paths create one object.
This is different from Union in that overlapping areas are not affected.
Whether overlapping areas are filled is controlled by the Fill: winding/alternating switch on the Fill & Stroke dialog.
Shift+Ctrl+K | break paths apart
This attempts to break an object into constituent paths; it will fail if the object is one solid path.

### Simplify

Ctrl+L | simplify
This command attempts to simplify selected path(s) by removing extra nodes. It converts all objects to paths first.
If you invoke this command several times in quick succession, it will act more and more aggressively.
Invoking Simplify again after a pause restores the default threshold (settable in the Inkscape Preferences dialog).

### Path effects

7 | show next editable path effect parameter

## Selector

### Select (mouse)

click | select an object
When you left-click on an object, previous selection is deselected.
Shift+click | toggle selection
Shift+click adds an object to the current selection if it was not selected, or deselects it otherwise.
double-click | edit the object
For paths, double clicking switches to Node tool; for shapes, to corresponding shape tool; for text, to Text tool.
For groups, double clicking performs the "Enter group" command (the group becomes a temporary layer).
Double clicking in empty space switches to the parent layer in the hierarchy, if any.

### Rubberband, touch selection

mouse drag | select by rubberband
Dragging around objects does "rubberband" selection; previous selection is deselected.
Shift+mouse drag | add objects to selection
Normally, you need to start from an empty space to initiate a rubberband.
However, if you press Shift before dragging, Inkscape will do rubberband selection even if you start from an object.
Alt+mouse drag, Shift+Alt+mouse drag | select by touch
Alt+dragging over objects selects those objects that are touched by the path.
To start touch selection with Alt, you must have nothing selected; otherwise use Shift+Alt.
You can switch rubberband selection to touch selection and back while dragging by pressing/releasing Alt.

### Select (keyboard)

Tab | select next object
Shift+Tab | select previous object
These keys pick objects in their z-order (Tab cycles from bottom to top, Shift+Tab cycles from top to bottom).
Unless you did manual rearrangements, the last object you created is always on top.
As a result, if nothing is selected, pressing Shift+Tab once conveniently selects the object you created last.
This works on objects within the current layer (unless you change that in preferences).
Ctrl+A | select all (current layer)
This works on objects within the current layer (unless you change that in preferences).
Ctrl+Alt+A | select all (all layers)
This works on objects in all visible and unlocked layers.
! | invert selection (current layer)
This inverts selection (deselects what was selected and vice versa) in the current layer.
Alt+! | invert selection (all layers)
This inverts selection (deselects what was selected and vice versa) in visible and unlocked layers.
Esc | deselect
Backspace, Del | delete selection

### Select within group, select under

Ctrl+click | select within group
Ctrl+click selects the object at click point disregarding any levels of grouping that this object might belong to.
Shift+Ctrl+click | toggle selection within group
Alt+click | select under
Alt+click selects the object at click point which is beneath (in z-order) the lowest selected object at click point.
If the bottom object is reached, Alt+click again selects the top object. So, several Alt+clicks cycle through z-order stack at point.
On GNU/Linux, Alt+click and Alt+drag may be reserved by the window manager. Reconfigure it so you can use them in Inkscape.
If your keyboard has a Meta key, you may wish to set your "Modifier key" to use it instead of Alt.
(Sometimes you can also use Ctrl+Alt+click (select under in groups) with the same effect as Alt+click.)
Shift+Alt+click | toggle under
Ctrl+Alt+click | select under, in groups
Shift+Ctrl+Alt+click | toggle under, in groups
Ctrl+Enter | enter group
Ctrl+Backspace | go to parent group/layer

### Move (mouse)

mouse drag | select + move
Dragging an object selects it if it was not selected, then moves selection.
Alt+mouse drag | move selected
Alt+drag moves the current selection (without selecting what is under cursor), no matter where you start the drag.
On GNU/Linux, Alt+click and Alt+drag may be reserved by the window manager. Reconfigure it so you can use them in Inkscape.
If your keyboard has a Meta key, you may wish to set your "Modifier key" to use it instead of Alt.
Ctrl+mouse drag | restrict movement to horizontal or vertical
Shift+mouse drag | temporarily disable snapping
This temporarily disables snapping when you are dragging with snapping activated.
mouse drag+Space | drop a copy
When dragging or transforming with mouse, each Space leaves a copy of the selected object.
You can press and hold Space while dragging for a nice "trail."

### Move (keyboard)

arrows | move selection by the nudge distance
Shift+arrows | move selection by 10x nudge distance
The default nudge distance is 2 px (SVG pixel units, not screen pixels).
Alt+arrows | move selection by 1 pixel
Shift+Alt+arrows | move selection by 10 pixels
The actual distance for pixel movements depends on zoom level. Zoom in for finer movement.

### Transform (mouse)

click, Shift+S | toggle scale/rotation handles
mouse drag | scale (with scale handles)
mouse drag | rotate or skew (with rotation handles)

### Scale by handles

mouse drag | scale
Ctrl+mouse drag | scale preserving aspect ratio
Shift+mouse drag | symmetric transformation
Holding Shift while transforming makes transformation symmetric around the center of the selection.
Alt+mouse drag | scale by integer
Hold Alt while scaling to limit scale to 2, 3, 4, etc. or 1/2, 1/3, 1/4 etc. of the initial size.

### Scale (keyboard)

., > | scale selection up by the scale step
,, < | scale selection down by the scale step
The default scale step is 2 px (SVG pixel units, not screen pixels).
Ctrl+., Ctrl+> | scale selection to 200%
Ctrl+,, Ctrl+< | scale selection to 50%
Alt+., Alt+> | scale selection up by 1 pixel
Alt+,, Alt+< | scale selection down by 1 pixel
The actual size increment for pixel scaling depends on zoom level. Zoom in for finer scaling.
The default size increment is added to (or subtracted from) either the selection's height or width, whichever one is larger. Scaling is done around the center of the selection's bounding box and keeps the proportions of the selected object(s).

### Rotate/skew by handles

mouse drag | rotate or skew
Ctrl+mouse drag | snap skew angle
Holding Ctrl when dragging a skew (non-corner) handle snaps the skew angle to angle steps (default 15 degrees).
Ctrl+mouse drag | snap rotation angle
Holding Ctrl when dragging a rotation (corner) handle snaps the rotation angle to angle steps (default 15 degrees).
Shift+mouse drag | rotate around opposite corner

### Rotate (keyboard)

[, ] | rotate selection by the angle step
The default angle step is 15 degrees. ] rotates clockwise, [ rotates counterclockwise.
Ctrl+[, Ctrl+] | rotate selection by 90 degrees
Alt+[, Alt+] | rotate selection by 1 pixel
The actual angle for pixel rotation depends on zoom level. Zoom in for finer movement.
These commands use the rotation center, draggable in Selector (by default it's in geometric center).

### Flip

h | flip selection horizontally
v | flip selection vertically
If the tool is in rotate mode (rotation center visible), that center becomes the axis of flipping; otherwise it flips around geometric center of selection.

### Rotation center

mouse drag | move rotation center
Moved rotation center remembers and saves its position for (all) selected object(s); you can reset it.
Shift+mouse drag | move without snapping
Shift+click | reset rotation center
Resetting rotation center moves it back to the geometric center of the object's or selection's bounding box.

### Cancel

Esc | cancel rubberband, move, transformation
Press Esc while mouse button is still down to cancel rubberband selection, move, or transformation of any kind.

## Node tool

### Select objects (mouse)

click | click a non-selected object to select
Alt+click | select under
Alt+mouse wheel | cycle z-order
Shift+click | toggle selection
These work the same as in Selector. The nodes or handles of the single selected object become editable.

### Select nodes (mouse)

click | select a node
Clicking on a node selects it.
click | select two adjacent nodes
Clicking on a selected path between the nodes selects the two nodes closest to the click point.
Shift+click | toggle selection
This adds/removes a node (if clicked on node) or two nodes (if clicked on path) to/from the node selection.
click | deselect
Clicking in an empty space deselects all selected nodes. Next click will deselect the object.

### Rubberband selection

mouse drag | select multiple nodes
Dragging around nodes does "rubberband" selection; previous node selection is deselected.
Shift+mouse drag | add nodes to selection
Normally, you need to start from a point not over a path or a node to initiate a rubberband.
However, if you press Shift before dragging, Inkscape will do rubberband selection even if you start over the path.

### Select nodes (keyboard)

Tab | select next node
Shift+Tab | select previous node
These keys select nodes within the selected path.
Ctrl+A | select all nodes in subpath(s)
If the path has multiple subpaths and some nodes selected, this selects all only in subpaths with already selected nodes.
Ctrl+Alt+A | select all nodes in path
This selects all nodes in the entire path.
! | invert selection in subpath(s)
If the path has multiple subpaths and some nodes selected, this inverts selection only in subpaths with already selected nodes.
Alt+! | invert selection in path
This inverts selection (deselects what was selected and vice versa) in the entire path.
Esc | deselect all nodes

### Grow/shrink node selection

PgUp, PgDn | grow/shrink selection (spatial)
mouse wheel | grow/shrink selection (spatial)
Ctrl+PgUp, Ctrl+PgDn | grow/shrink selection (along path)
Ctrl+mouse wheel | grow/shrink selection (along path)
Your mouse pointer must be over a node for growing/shrinking.
Each key press or turn of the mouse wheel selects the nearest unselected node or deselects the farthest selected node.
Distance to nodes can be calculated directly (spatial mode) or along path.

### Move nodes (mouse)

mouse drag | move selected nodes
Ctrl+mouse drag | restrict movement to horizontal or vertical
Ctrl+Alt+mouse drag | move along handles
This restricts movement to the directions of the node's handles, their counter directions and perpendiculars (total 8 snaps).
If the node has straight lines on one or both sides, this will snap it to these lines' directions and perpendiculars instead.
Shift+mouse drag | temporarily disable snapping
Shift+mouse drag | drag out handle
If a node has a retracted handle, dragging with Shift lets you drag it out of the node.
mouse drag+Space | drop a copy
When dragging nodes with mouse, each Space leaves a copy of the selected object.
You can press and hold Space while dragging for a nice "trail."
Alt+mouse drag | sculpt selected nodes
Sculpting moves the selected nodes so that the dragged node moves all the way, the farthest selected nodes stay put; all intermediate selected nodes move intermediate distances, governed by a bell-like curve.
Sculpting is pressure-sensitive with a tablet; press harder for a blunter drag profile, press lightly for a sharper profile.
To stop sculpting without losing the pressure-sensitive profile, release Alt first and then lift the pen.

### Move nodes (keyboard)

arrows | move selected node(s) by the nudge distance
Shift+arrows | move selected node(s) by 10x nudge distance
The default nudge distance is 2 px (SVG pixel units, not screen pixels).
Alt+arrows | move selected node(s) by 1 pixel
Shift+Alt+arrows | move selected node(s) by 10 pixels
The actual distance for pixel movements depends on zoom level. Zoom in for finer movement.

### Move node handle (mouse)

mouse drag | move a node handle
Ctrl+mouse drag | snap the handle to angle steps
The default angle step is 15 degrees. This also snaps to the handle's original angle, its counter direction and perpendiculars.
Shift+mouse drag | rotate both handles
Alt+mouse drag | lock the handle length
Ctrl, Shift, Alt can be combined when dragging handles.
Ctrl+click | retract the handle
Retracted handle is zero length; use Shift+drag to drag it back out.

### Scale handle (1 node selected)

<, > | contract/expand both handles by scale step
The default scale step is 2 px (SVG pixel units, not screen pixels). May apply to more than one node.
Left Ctrl+<, Left Ctrl+> | scale left handle by the scale step
Right Ctrl+<, Right Ctrl+> | scale right handle by the scale step
Left Alt+<, Left Alt+> | scale left handle by 1 pixel
Right Alt+<, Right Alt+> | scale right handle by 1 pixel
The actual size increment for pixel scaling depends on zoom level. Zoom in for finer scaling.
Instead of the < and > keys, you can use the , (comma) and . (period) keys respectively.

### Rotate handle (1 node selected)

[, ] | rotate both handles by the angle step
The default angle step is 15 degrees. ] rotates clockwise, [ rotates counterclockwise. May apply to more than one node.
Left Ctrl+[, Left Ctrl+] | rotate left handle by the angle step
Right Ctrl+[, Right Ctrl+] | rotate right handle by the angle step
Left Alt+[, Left Alt+] | rotate left handle by 1 pixel
Right Alt+[, Right Alt+] | rotate right handle by 1 pixel

### Handles visibility

Ctrl+H | toggle handles

### Scale nodes (>1 nodes selected)

These commands scale the selected nodes as if they were an "object".
If mouse is over a node, that node becomes the axis of scaling; otherwise it scales around geometric center of selected nodes.
., > | scale nodes up by the scale step
,, < | scale nodes down by the scale step
The default scale step is 2 px (SVG pixel units, not screen pixels).
Alt+., Alt+> | scale nodes up by 1 pixel
Alt+,, Alt+< | scale nodes down by 1 pixel
The actual size increment for pixel scaling depends on zoom level. Zoom in for finer scaling.
The default size increment is added to (or subtracted from) either the node selection's height or width, whichever one is larger. Scaling keeps the proportions of the node selection.

### Rotate nodes (>1 nodes selected)

These commands rotate the selected nodes as if they were an "object".
If mouse is over a node, that node becomes the axis of rotation; otherwise it rotates around geometric center of selected nodes.
[, ] | rotate nodes by the angle step
The default angle step is 15 degrees. ] rotates clockwise, [ rotates counterclockwise.
Alt+[, Alt+] | rotate nodes by 1 pixel
The actual angle for pixel rotation depends on zoom level. Zoom in for finer movement.

### Flip nodes (>1 nodes selected)

These commands flip the selected nodes as if they were an "object", around the center of that object.
h | flip nodes horizontally
v | flip nodes vertically
If mouse is over a node, that node becomes the axis of flipping; otherwise it flips around geometric center of selected nodes

### Change segment(s)

Shift+L | make line
Shift+U | make curve
These commands require that more than two adjacent nodes be selected.

### Change node type

Shift+C | make cusp
First Shift+C changes type of node; if you do another Shift+C on an already cusp node, it retracts its handles.
Shift+S | make smooth
If a cusp node is adjacent to a line segment, first Shift+S makes it half-smooth with one handle collinear with the segment; another Shift+S will expand a second handle.
Shift+Y | make symmetric
When making smooth or symmetric, you can lock the position of one of the handles by hovering mouse over it.
Shift+A | make auto
Ctrl+click | toggle smooth/cusp/symmetric/auto

### Join/break

Shift+J | join selected nodes
This requires that exactly two end nodes within the path be selected.
You can lock the position of one of the two joined nodes by hovering mouse over it.
Alt+J | join selected end nodes with new segment
Shift+B | break selected node(s)
After break, only one of each two new nodes is selected. May apply to more than one node.

### Delete, create, duplicate

Backspace, Del | delete selected node(s)
Ctrl+Backspace, Ctrl+Del | delete without preserving shape
Deleting without Ctrl adjusts handles on the remaining nodes to preserve the shape of the curve as much as possible.
Deleting with Ctrl does not touch the remaining nodes.
Alt+Backspace | delete segment between pairs of adjacent selected nodes
Ctrl+Alt+click | create/delete node
Ctrl+Alt+click on a node deletes it; Ctrl+Alt+click on the path between nodes creates a new node in the click point.
Deleting nodes this way always tries to preserve the shape of the curve (same as Del/Backspace).
double-click | create node
Double clicking on the path between nodes creates a node in the click point.
Ins, Shift+I | insert new node(s)
This adds new node(s) in the middle(s) of selected segment(s), so it requires that more than two adjacent nodes be selected.
Shift+D | duplicate selected node(s)
New nodes are created on the same path; they are placed exactly over the old ones and are selected.

### Reverse

Shift+R | reverse path direction

### Edit shapes

Node tool can also drag the handles of shapes (rectangles, ellipses, stars, spirals). Click on a shape to select it.
See the corresponding shape tools for their editing shortcuts, all of which also work in node tool.

### Edit fills and path effects

Node tool can also edit the handles of a pattern fill, gradient fill, and the editable handles of path effects.

### Cancel

Esc | cancel rubberband or move
Press Esc while mouse button is still down to cancel rubberband selection, node move, or handle move.

## Tweak tool

### Operation

mouse drag | act on selected paths in the current mode
Shift+mouse drag | reverse current mode (when applicable)
Ctrl+mouse drag | temporarily switch to shrink mode
Shift+Ctrl+mouse drag | temporarily switch to grow mode
The amount of tweaking action is the greatest at the center of the circular area and drops off smoothly towards the edges.

### Modes

Shift+M, Shift+0 | move mode
Shift+I, Shift+1 | move in/out mode
Drag moves objects inwards to cursor, drag with Shift moves outwards from cursor.
Shift+Z, Shift+2 | move jitter mode
Shift+< | scale mode
Drag scales objects down, drag with Shift scales up.
Shift+[ | rotate mode
Drag rotates objects clockwise, drag with Shift, counterclockwise.
Shift+D, Shift+5 | duplicate/delete mode
Drag randomly duplicates objects, drag with Shift randomly deletes.
Shift+P, Shift+6 | push path mode
Shift+S, Shift+7 | shrink/grow path mode
Drag insets paths, drag with Shift outsets.
Shift+A, Shift+8 | attract/repel path mode
Drag attracts paths to cursor, drag with Shift repels.
Shift+R, Shift+9 | roughen mode
Shift+C | color paint mode
Shift+J | color jitter mode
Shift+B | blur mode

### Parameters

Left arrow, Right arrow | adjust brush width by 1
Home, End | set brush width to its minimum or maximum
Up arrow, Down arrow | adjust tweaking force
Width and force can be adjusted while drawing. With a pressure-sensitive tablet, force also depends on pen pressure.

## Zoom tool

click | zoom in
Shift+click | zoom out
mouse drag | zoom into the area

## Measure tool

mouse drag | measure distance and angle between the start point and the cursor
Shift+mouse drag | set base of angle measurement to cursor position
Ctrl+mouse drag | snap angle measure to angle steps
The default angle step is 15 degrees.

## Rectangle tool

### Draw

mouse drag | draw a rectangle
Ctrl+mouse drag | make a square or integer-ratio rectangle
This restricts width/height ratio or its inverse to a whole number or the golden ratio.
Shift+mouse drag | draw around the starting point
This creates a rectangle symmetric around the starting point of the mouse drag.

### Select

click | click to select
Alt+click, Ctrl+Alt+click | select under
Shift+click | toggle selection
In this tool, selecting by click disregards any grouping (i.e. acts as clicking with Ctrl in Selector).
Esc | deselect

### Resize by handles

mouse drag | drag a square handle to resize
Initially, the two resize (square) handles are in top left and bottom right corners.
Resize handles change the width and height of the rectangle in its own coordinate system, before any transforms are applied.
Ctrl+mouse drag | lock width, height, or ratio

### Round corners by handles

mouse drag | drag a circular handle to round corners
Initially, the two rounding handles are in the top right corner of the rectangle.
Ctrl+mouse drag | lock the corner circular
Ctrl+click | set the corner circular
When rounding corners, dragging one rounding handle keeps the corner circular if the other remains at the corner.
You can drag both handles for an elliptic rounded corner, or drag/click one with Ctrl to make it circular again.
Shift+click | remove corner rounding

## 3D box tool

### Draw

mouse drag | draw a 3D box (X/Y plane)
Shift+mouse drag | draw a 3D box (extrude in Z)

### Select

click | click to select
Alt+click, Ctrl+Alt+click | select under
Shift+click | toggle selection
Esc | deselect

### Edit by handles

All editing operations occur "in perspective", i.e., either along perspective lines or within planes spanned by these.
mouse drag | resize/move box
The four front handles and the center normally move within the XY plane, the four rear handles along the Z axis.
Shift+mouse drag | resize/move (with handle behaviour swapped)
Ctrl+mouse drag | resize/move (handles snap to axes or diagonals)

### Edit perspectives

In what follows, we use the abbreviations VP = vanishing point, PL = perspective line.
mouse drag | drag square handles to move the VPs
[, ] | rotate X-PLs (if parallel) by the angle step
The default angle step is 15 degrees. ],),} rotate clockwise, [,(,{ rotate counterclockwise.
Alt+[, Alt+] | rotate X-PLs (if parallel) by 1 pixel
(, ) | rotate Y-PLs (if parallel) by the angle step
Alt+(, Alt+) | rotate Y-PLs (if parallel) by 1 pixel
{, } | rotate Z-PLs (if parallel) by the angle step
Alt+{, Alt+} | rotate Z-PLs (if parallel) by 1 pixel

## Ellipse tool

### Draw

Without Alt the starting and ending point of the mouse drag mark the corners of the bounding box.
With Alt the ellipse is enlarged so that its circumference passes through these two points (Ctrl+Alt is a special case; see below).
mouse drag | draw an ellipse
Ctrl+mouse drag | make circle or integer-ratio ellipse
This restricts width/height ratio or its inverse to a whole number or the golden ratio.
Shift+mouse drag | draw around the starting point
This creates an ellipse symmetric around the starting point of the mouse drag.
Ctrl+Alt+mouse drag | create circle passing through the starting and ending point
This creates a perfect circle whose diameter is defined by the starting and ending point of the mouse drag.

### Select

click | click to select
Alt+click, Ctrl+Alt+click | select under
Shift+click | toggle selection
In this tool, selecting by click disregards any grouping (i.e. acts as clicking with Ctrl in Selector).
Esc | deselect

### Edit by handles

mouse drag | resize, make arc or segment
Initially, the two resize handles are at the topmost and leftmost points; the two arc/segment handles are in the rightmost point.
Ctrl+mouse drag | lock circle (resize handles)
Ctrl+mouse drag | snap to angle steps (arc/segment handles)
Resize handles change the width and height of the ellipse in its own coordinate system, before any transforms are applied.
The default angle step is 15 degrees.
Shift+click | make whole (arc/segment handles)

## Star tool

### Draw

mouse drag | draw a star
Ctrl+mouse drag | snap star to angle steps
The default angle step is 15 degrees.

### Select

click | click to select
Alt+click, Ctrl+Alt+click | select under
Shift+click | toggle selection
In this tool, selecting by click disregards any grouping (i.e. acts as clicking with Ctrl in Selector).
Esc | deselect

### Edit by handles

mouse drag | drag a handle to vary the star shape
Ctrl+mouse drag | keep star rays radial (no skew)
Shift+mouse drag | round the star
Shift+click | remove rounding
Alt+mouse drag | randomize the star
Alt+click, Ctrl+Alt+click | remove randomization

## Spiral tool

### Draw

mouse drag | draw a spiral
Ctrl+mouse drag | snap spiral to angle steps
The default angle step is 15 degrees.

### Select

click | click to select
Alt+click, Ctrl+Alt+click | select under
Shift+click | toggle selection
In this tool, selecting by click disregards any grouping (i.e. acts as clicking with Ctrl in Selector).
Esc | deselect

### Edit by handles

mouse drag | roll/unroll from inside (inner handle)
Dragging the inner handle adjusts the "inner radius" parameter.
Alt+mouse drag | converge/diverge (inner handle)
Alt+click, Ctrl+Alt+click | reset divergence (inner handle)
Vertical Alt+drag of the inner handle adjusts the "divergence" parameter, Alt+click resets it to 1.
Shift+click | zero inner radius (inner handle)
Shift+click on inner handle makes the spiral start from the center.
mouse drag | roll/unroll from outside (outer handle)
Dragging the outer handle adjusts the "turns" parameter.
Alt+mouse drag | lock radius (outer handle)
Roll/unroll without changing radius.
Shift+mouse drag | scale/rotate (outer handle)
Use Shift+Alt+drag to rotate only (locks the radius of the spiral).
Ctrl+mouse drag | snap handles to angle steps
The default angle step is 15 degrees. This works for both handles.

## Pencil tool

mouse drag | draw a freehand path
Shift+mouse drag | add to selected path
If a path is selected, Shift+dragging from anywhere starts a new subpath instead of a new independent path.
Shift+mouse drag | temporarily disable snapping
This temporarily disables snapping when you are dragging with snapping activated.
Alt+mouse drag | averaging draw (sketch mode)
Ctrl+mouse drag | lift pencil
A short press of the Ctrl key discontinues the current path. Release the mouse button and click and drag again to continue. The loose ends will be connected by straight lines when the path is finished.
click | start a straight path (finish with another click)

### Create dots

Ctrl+click | create a dot
This creates a small circle. Its size (relative to the current stroke width) can be set in Preferences.
Shift+Ctrl+click | create a double-sized dot
Ctrl+Alt+click | create a random-sized dot

## Pen (Bezier) tool

### Create nodes

click | create a sharp node
If no path is being created, this starts a new path.
Shift+click | add to selected path
If a path is selected, Shift+dragging anywhere creates a new subpath instead of a new independent path.
mouse drag | create a Bezier node with two handles
Shift+mouse drag | move only one handle
This moves only one handle (instead of both) while creating a node, making it cusp.
Ctrl+mouse drag | snap the handle to angle steps
The default angle step is 15 degrees.

### Move last node

These commands move the last created node (at the start of the red segment) while creating a path.
arrows | move last node by the nudge distance
Shift+arrows | move last node by 10x nudge distance
The default nudge distance is 2 px (SVG pixel units, not screen pixels).
Alt+arrows | move last node by 1 pixel
Shift+Alt+arrows | move last node by 10 pixels
The actual distance for pixel movements depends on zoom level. Zoom in for finer movement.

### Create/modify segments

Ctrl | snap last segment to angle steps
This snaps the new node's angle, relative to the previous node, to angle steps (default 15 degrees).
Shift+L | make last segment line
Shift+U | make last segment curve
These commands change the last (red) segment of the path to straight line or curve.

### Create dots

Ctrl+click | create a dot (straight line modes only)
This creates a small circle. Its size (relative to the current stroke width) can be set in Preferences.
Shift+Ctrl+click | create a double-sized dot
Ctrl+Alt+click | create a random-sized dot

### Finish

Enter | finish current path
Shift+Enter | finish and close current path
right click | finish current path
double-click | finish current path
Enter or right click finish the current line, discarding the last unfinished (red) segment. Double left click finishes the current line where double-clicked.

### Cancel

Esc, Ctrl+Z | cancel current line
Backspace, Del | erase last segment of current line

## Calligraphy tool

mouse drag | draw a calligraphic stroke
Shift+mouse drag | add to selected path
Drawing with Shift unions the newly created stroke with the previous selection.
Alt+mouse drag | subtract from selected path
Drawing with Alt subtracts the newly created stroke from the previous selection.
Ctrl+mouse drag | track a guide path
Drawing with Ctrl tracks a selected guide path at the constant distance.
Left arrow, Right arrow | adjust pen width by 1
Home, End | set pen width to its minimum or maximum
Up arrow, Down arrow | adjust pen angle
Width and angle can be adjusted while drawing.
Esc | deselect

## Text tool

### Select/create

click | create/select a text object
Clicking in an empty space or on a non-text creates a text object; now you can type your text.
Clicking on a text object selects it; cursor is placed near the click point.
Esc | deselect the text object

### Navigate in text

arrows | move cursor by one character
Ctrl+Left arrow, Ctrl+Right arrow | move cursor by one word
Ctrl+Up arrow, Ctrl+Down arrow | move cursor by one paragraph
Home, End | go to beginning/end of line
Ctrl+Home, Ctrl+End | go to beginning/end of text
PgUp, PgDn | move cursor by one screen
All these commands cancel current text selection, if any. Use them with Shift to add to / subtract from selection instead.

### Flowed text (internal frame)

mouse drag | create flowed text
Clicking and dragging in an empty space or on a non-text creates a flowed text object with internal frame.
mouse drag | adjust frame size
Dragging the handle in the lower right corner of the selected flowed text changes width/height of the frame.
Ctrl+mouse drag | lock width, height, or ratio of frame
Dragging the corner handle with Ctrl resizes the frame preserving either width, or height, or ratio.

### Flowed text (external frame)

Alt+W | flow text into frame
With a text object and a shape/path selected, this flows text into the shape/path.
Both remain separate objects, but are linked; editing the shape/path causes the text to reflow.
Shift+Alt+W | unflow text from frame
This cuts the flowed text's link to the shape/path, producing a single-line regular text object.
Shift+D | select external frame
To find out which object is the frame of this flowed text, select it and press Shift+D. The frame will be selected.

### Text on path

Shift+D | select path from text
To find out which path this text is put on, select it and press Shift+D. The path will be selected.

### Edit text

To type + and - characters, use the main keyboard; keypad + and - are reserved for zoom (unless NumLock is on).
Enter | start a new line or paragraph
Enter in regular text creates new line; in flowed text it creates a new paragraph.
Ctrl+U | toggle Unicode entry
To insert an arbitrary Unicode character, type Ctrl+U, then the hexadecimal code point, then Enter.
For example, type Ctrl+U 2 0 1 4 Enter for an em-dash; Ctrl+U a 9 Enter for a copyright sign.
To stay in Unicode mode after inserting the character, press Space instead of Enter.
Press Esc or another Ctrl+U to cancel Unicode mode without inserting the character.
Ctrl+Space | insert no-break space
A no-break space is visible even in a text object without xml:space="preserve".

### Select text

mouse drag | select text
Left-dragging over a text object selects a text span.
Shift+arrows | select text by character
Shift+Ctrl+arrows | select text by word
Shift+Home, Shift+End | select to beginning/end of line
Shift+Ctrl+Home, Shift+Ctrl+End | select to beginning/end of text
Shift+PgUp, Shift+PgDn | select one screen up/down
double-click | select word
click+click+click | select line
Ctrl+A | select all text
This selects the entire text of the current text object.

### Style selection

Ctrl+B | make selection bold
Ctrl+I | make selection italic
Also, you can use the Text&Font or Fill&Stroke dialogs to assign any style to text selection.

### Letter spacing

Alt+> | expand line/paragraph by 1 pixel
Shift+Alt+> | expand line/paragraph by 10 pixels
Alt+< | contract line/paragraph by 1 pixel
Shift+Alt+< | contract line/paragraph by 10 pixels
These commands (only when editing text) adjust letter spacing in the current line (regular text) or paragraph (flowed text).
The actual adjustment for pixel movements depends on zoom level. Zoom in for finer adjustment.

### Line spacing

Ctrl+Alt+> | make the text object taller by 1 pixel
Shift+Ctrl+Alt+> | make the text object taller by 10 pixels
Ctrl+Alt+< | make the text object shorter by 1 pixel
Shift+Ctrl+Alt+< | make the text object shorter by 10 pixels
These commands (only when editing text) adjust line spacing in the entire text object (regular or flowed).
The actual adjustment for pixel movements depends on zoom level. Zoom in for finer adjustment.

### Kerning and shifting

Alt+arrows | shift characters by 1 pixel
Shift+Alt+arrows | shift characters by 10 pixels
These commands work when editing a regular text object. Kerning does not work in flowed text.
With no selection, they shift (horizontally or vertically) the characters after the cursor until the end of line.
With selection, they shift the selection relative to the rest of text (by inserting opposite kerns at both ends of selection).
The actual adjustment for pixel movements depends on zoom level. Zoom in for finer adjustment.

### Rotate

Ctrl+[, Ctrl+] | rotate character(s) by 90 degrees
Alt+[, Alt+] | rotate character(s) by 1 pixel
These commands rotate the next character (without selection) or all characters in the selection (with selection).
Rotation only works in regular text (not flowed text).
The actual angle for pixel rotation depends on zoom level. Zoom in for finer movement.

## Spray tool

### Modes

Shift+J | copy mode
Shift+K | clone mode
Shift+L | single path mode

### Parameters

Left arrow, Right arrow | adjust spray width by 1
Up arrow, Down arrow | adjust spray population by 1
Home, End | set spray width to its minimum or maximum

## Eraser tool

Left arrow, Right arrow | adjust eraser width by 1
Home, End | set eraser width to its minimum or maximum

## Paint Bucket

click | fill a bounded area
Shift+click | add to selected path
Clicking with Shift unions the newly created fill with the previous selection.
mouse drag | fill from each point
From each point, the fill spreads to the neighbors with the colors similar to that point.
This can be used to fill an area currently filled with a gradient or blur.
Alt+mouse drag | fill from each point similar to the initial point
From each point, the fill spreads to the neighbors with the colors similar to the initial point of the drag.
This can be used to fill several disjoint bounded areas by starting in one and dragging over all of the areas.
Ctrl+click | set fill color
Shift+Ctrl+click | set stroke color
Ctrl+clicking an object sets its fill (or stroke with Shift) to the tool's current style; the object need not be selected.

## Gradient tool

### Select objects

click | click an object to select
Alt+click | select under
Shift+click | toggle selection

### Create gradients

mouse drag | create gradient
This creates gradient on selected objects. The tool controls bar lets you select linear/radial and fill/stroke for the new gradient.
double-click | create default gradient
This creates default (horizontal edge-to-edge for linear, centered edge-to-edge-to-edge for radial) gradient on clicked object.

### Select handles

click | select a handle
Shift+click | add handle to selection
Shift+mouse drag | select by rubberband
Tab | select next handle
Shift+Tab | select previous handle
Ctrl+A | select all handles
Esc | deselect all handles
Single click outside all handles also deselects all handles.

### Create/delete intermediate stops

Ctrl+Alt+click, double-click | create a stop
Ctrl+Alt+click or double click on a gradient line creates a new intermediate stop.
Ctrl+Alt+click | delete stop
Ctrl+Alt+click on a stop's handle deletes the stop; if it was an end stop, gradient shortens or disappears.
Ins, Shift+I | insert new stop(s)
This adds new stop(s) in the middle(s) between adjacent, selected stops or, if only one stop is selected, in the middle of the segment that starts with the selected stop.
Del | delete selected stops

### Move handles/stops

mouse drag | move selected handle(s)
Ctrl+mouse drag | move stops in 1/10 range increments
Ctrl+dragging selected intermediate stops moves them snapping to 1/10 steps of the available range.
Alt+mouse drag | sculpt selected stops
Sculpting moves the selected intermediate stops depending on how close each one is to the stop being dragged, using a smooth bell-like curve similar to the node sculpting feature in Node tool.
arrows | move selected handle by the nudge distance
Shift+arrows | move selected handle by 10x nudge distance
The default nudge distance is 2 px (SVG pixel units, not screen pixels).
Alt+arrows | move selected handle by 1 pixel
Shift+Alt+arrows | move selected handle by 10 pixels
If at least one end handle is selected, arrow keys move the end handle to move or resize the gradient line.
If only mid stops are selected, arrow keys move the selected stops along the gradient line.
The actual distance for pixel movements depends on zoom level. Zoom in for finer movement.

### Reverse

Shift+R | reverse gradient definition
This mirrors the stop positions of the current gradient without moving the gradient handles.

## Dropper tool

click | pick fill color
Shift+click | pick stroke color
mouse drag | average fill color
Shift+mouse drag | average stroke color
Click applies the color under cursor to the current selection. Dragging a radius calculates the average color of a circular area.
If a gradient handle (in Gradient tool) is selected, it gets the color instead of the entire object.
Alt+click | pick inverse color
If Alt is pressed, picking color (with or without Shift, by click or by drag) picks the inverse of the color.
Ctrl+C | copy color
This copies the color under cursor to the clipboard, as text in RRGGBBAA format (8 hex digits).