Unless noted otherwise, keypad keys (such as arrows, Home, End, +, -, digits) are supposed to work the same as corresponding regular keys. See also KeyboardShortcutsToDo on Inkscape Wiki for a discussion of other shortcuts we're planning to implement; you can leave your ideas and requests there.

# Tools

F1, s | selector
Space | selector (temporary)
Space switches to the select tool temporarily; another Space switches back.
F2, n | node tool
F3, z | zoom tool
F4, r | rectangle tool
F5, e | ellipse/arc tool
F6, p | freehand (pencil) tool
Shift+F6, b | bezier (pen) tool
Ctrl+F6, | calligraphic tool
F7, d | dropper tool
F8, t | text tool
F9, i | spiral tool
Shift+F9, * | star tool

# File

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

# Window

Ctrl+R | toggle rulers
Ctrl+B | toggle scrollbars
F11 | toggle 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.

# Dialogs

Shift+Ctrl+F | Fill and Stroke
Shift+Ctrl+T | Text and Font
Shift+Ctrl+M | Transform
Shift+Ctrl+A | Align and Distribute
Shift+Ctrl+X | XML Editor
Shift+Ctrl+D | Document Options
Shift+Ctrl+O | Inkscape Options
Shift+Ctrl+E | Export to PNG
These 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 | accept 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

# Top panel

The panel at the top of the document window provides different fields and controls for each tool.
Alt+X | jump to the first editable field
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.
Tab | jump to next field
Shift+Tab | jump to previous field
Use these to navigate between fields in the top panel (the value in the field you leave, if changed, is accepted).

#### Changing values

Up arrow, Down arrow | change value by 0.1
PgUp, PgDn | change value by 5.0

# Canvas

#### Zoom

=, + | zoom in
- | zoom out
The keypad +/- keys do zooming even when you are editing a text object.
middle click, Ctrl+right click | zoom in
Shift+middle click, Shift+right click | zoom out
Ctrl+mouse wheel | zoom in or out

#### 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

#### Scrolling (panning)

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 | scroll canvas
Shift+right button drag, Ctrl+right button drag | scroll canvas
mouse wheel | scroll canvas vertically
Shift+mouse wheel | scroll canvas horizontally

#### Guides and grid

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.
|, Shift+\ | toggle guides and snapping to guides
If you want to have different values for guides visibility and snapping, set them via the Document Options dialog.
When you create a new guide by dragging off the ruler, guide visibility and snapping are turned on.
#, Shift+3 | toggle grid and snapping to grid
If you want to have different values for grid visibility and snapping, set them via the Document Options dialog.
Note that only the 3 key on the main keyboard works, not on the keypad.

# Object

#### Undo/redo

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

#### Clipboard

Ctrl+C | copy selection
This places a copy of the selection to the Inkscape clipboard (not the system clipboard).
Ctrl+X | cut selection
This places a copy of the selection to the Inkscape clipboard and deletes the selection.
Ctrl+V | paste clipboard
This places the clipboard objects at the mouse cursor, or at the center of the window if mouse is outside the canvas.
Ctrl+Alt+V | paste in place
This places the clipboard objects to the original location from which they were copied.
Shift+Ctrl+V | paste style
This applies the style of the (first of the) coped object(s) to the current selection.

#### Duplicate

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

#### Grouping

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.

#### 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

#### Booleans

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.

#### Offsets

Ctrl+( | inset path (towards center)
Ctrl+) | outset path (away from center)
The default offset distance is 2 pt.
Alt+( | inset path by 1px
Alt+) | outset path by 1px
Shift+Alt+( | inset path by 10px
Shift+Alt+) | outset path by 10px
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.

#### Combining

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.
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.
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.

# Selector

#### Keyboard select

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.
Ctrl+A | select all objects
Del | delete selection
Esc | deselect

#### Keyboard move

arrows | move selection by the nudge distance
Shift+arrows | move selection by 10x nudge distance
The default nudge distance is 1mm.
Alt+arrows | move selection by 1 pixel
Alt+Shift+arrows | move selection by 10 pixels
The actual distance for pixel movements depends on zoom level. Zoom in for finer movement.

#### Keyboard rotate

[, ] | 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.

#### Keyboard scale

<, > | scale selection by the scale step
The default scale step is 2 pt.
Ctrl+< | scale selection to 50%
Ctrl+> | scale selection to 200%
Alt+<, Alt+> | scale selection by 1 pixel
The actual size increment for pixel scaling depends on zoom level. Zoom in for finer scaling.
Scaling is uniform around the center, so that the size increment applies to the larger of the two dimensions.
Instead of the < and > keys, you can use the , (comma) and . (period) keys respectively.

#### Keyboard flip

h | flip selection horizontally
v | flip selection vertically

#### Mouse select

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.

#### Selecting within group

Ctrl+click | select within group
Ctrl+Shift+click | toggle selection within group

#### Rubberband

mouse drag | select multiple objects
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.

#### Mouse move

mouse drag | move selected objects
Dragging an object selects it if it was not selected, then moves selection.
Ctrl+mouse drag | restrict movement to horizontal or vertical
mouse dragSpace | 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."

#### Mouse transform

click | toggle scale/rotation handles
mouse drag | scale (scale handles)
mouse drag | rotate or skew (rotation handles)

#### Scale handles

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 | slow movement
Holding Alt while transforming makes transformation lag behind mouse movement, allowing finer changes.

#### Rotation handles

Ctrl+mouse drag | skew and stretch
Holding Ctrl when dragging a skew (non-corner) handle enables stretching in addition to skewing.
Ctrl+mouse drag | snap rotation to angle steps
The default angle step is 15 degrees.

#### Cancel

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

# Freehand tool

mouse drag | draw a freehand line
a | toggle new/append
This switches between creating a new line or appending to the selected line (anchors are displayed for appending).

# Bezier tool

#### Create nodes

click | create a sharp node
mouse drag | create a bezier node with two handles
Shift+mouse drag | move only one handle
This moves only one handle (instead of both) to create a cusp node.
Ctrl+mouse drag | snap the handle to angle steps
The default angle step is 15 degrees.

#### Create segments

Ctrl+ | snap the segment to angle steps
This snaps the new node's angle, relative to the previous node, to angle steps (default 15 degrees).

#### Keyboard

a | toggle new/append
This switches between creating a new line or appending to the selected line (anchors are displayed for appending).
Enter | finish current line
Esc | cancel current line
Backspace | erase last segment of current line

# Node tool

#### Keyboard select

Tab | select next node
Shift+Tab | select previous node
These keys let you select any node within the selected path
Ctrl+A | select all nodes of the path
Esc | deselect all nodes

#### Keyboard move

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

#### Keyboard handle rotate

[, ] | 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

#### Keyboard handle scale

<, > | contract/expand both handles by scale step
The default scale step is 2 pt. 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.

#### Change path segment

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

#### Change node type

Shift+C | make cusp
Shift+S | make smooth
Shift+Y | make symmetric
Ctrl+click | toggle smooth/cusp/symmetric

#### Join/break

Shift+J | join selected nodes
This requires that exactly two end nodes within the path be selected.
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

Del | delete selected node(s)
Ctrl+Alt+click | delete node
Ins | 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.

#### Active node

The active node is one under mouse or being dragged.
When you have an active node, some of the single-letter tool switch shortcuts may not work;
move your mouse cursor so that no node is active if you want to use them.
c | make active node cusp
s | make active node smooth
y | make active node symmetric
b | break active node
Backspace | delete active node

#### Mouse select

click | select an object
Clicking on an object selects it.
The nodes or handles of the newly selected object become editable (this saves you a switch to selector).
click | select a node
Clicking on a node selects it.
Shift+click | toggle selection of a node
click | deselect
Clicking in an empty space deselects all selected nodes.

#### Rubberband

mouse drag | select multiple nodes
Dragging around nodes does "rubberband" selection; previous node selection is deselected.
Shift+mouse drag | add nodes to selection

#### Mouse move

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 continuations and perpendiculars (total 8 snaps).
mouse dragSpace | 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."

#### Mouse handle move

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 continuation and perpendiculars.
Shift+mouse drag | rotate both handles
Alt+mouse drag | lock the handle length
Ctrl, Shift, Alt can be combined when dragging handles.

#### Editing 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.

#### Cancel

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

# Zoom tool

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

# Rectangle tool

#### Drawing

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

#### Editing

click | click a rectangle to select
mouse drag | drag a handle to round corners
Ctrl+mouse drag | lock the rounded corner circular
When rounding corners of a rectangle, dragging only one handle (with the other at the corner) keeps the corner circular.
You can drag both handles for an elliptic rounded corner, or drag one with Ctrl to make sure the other one is synchronized.
Esc | deselect

# Ellipse tool

#### Drawing

mouse drag | draw an ellipse
Ctrl+mouse drag | make circle or integer-ratio ellipse
This restricts ellipse so its height/width ratio is a whole number.
Shift+mouse drag | draw around the starting point
This creates an ellipse symmetric around the starting point of the mouse drag.

#### Editing

click | click an ellipse to select
mouse drag | drag a handle to make arc or segment
Ctrl+mouse drag | restrict the arc or segment to angle steps
The default angle step is 15 degrees.
Esc | deselect

# Star tool

#### Drawing

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

#### Editing

click | click a star to select
mouse drag | drag a handle to vary the star shape
Ctrl+mouse drag | keep star rays radial (no skew)
Esc | deselect

# Spiral tool

#### Drawing

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

#### Editing

click | click a spiral to select
mouse drag | drag a handle to vary the spiral shape
Dragging internal handle "unrolls" the spiral from inside. Dragging the external handle adjusts spiral size.
Ctrl+mouse drag | snap handles to angle steps
The default angle step is 15 degrees.
Alt+mouse drag | lock spiral radius
This has effect when dragging the outer handle of the spiral.
Esc | deselect

# Text tool

click | create/activate a text object
Clicking in an empty space or on a non-text object displays a text cursor; now you can type your text.
Clicking on a text object activates it; cursor is placed at the end of the text.
To type + and - characters, use the main keyboard; keypad + and - are reserved for zoom.
arrows | navigate in a text object
Home, End | go to beginning/end of line
Enter | start a new line
Esc | deselect the text object

#### Special characters

Ctrl+U | toggle Unicode mode
In this mode, every four hex digits you type are translated into the corresponding Unicode character.
Another Ctrl+U or Esc or any non-hex character quits Unicode mode.
For example, Ctrl+U 2 0 1 4 Esc inserts an em-dash.
Ctrl+Space | insert no-break space
A no-break space is visible even in a text object without xml:space="preserve".

#### Letter spacing

Alt+> | expand the line by 1 pixel
Shift+Alt+> | expand the line by 10 pixels
Alt+< | contract the line by 1 pixel
Shift+Alt+< | contract the line by 10 pixels
These commands work when you are editing a text object. They adjust the inter-letter distance in the current line only.
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 work when you are editing a text object. They adjust the inter-line distance in the current text object.
The actual adjustment for pixel movements depends on zoom level. Zoom in for finer adjustment.

#### Kerning and shifting

Alt+arrows | shift next characters by 1 pixel
Shift+Alt+arrows | shift next characters by 10 pixels
These commands work when you are editing a text object.
They shift (horizontally or vertically) the character after the cursor and the rest of characters until the end of line.
E.g., to shift down one character, place the cursor before it, press Alt+Down, then move cursor after it and press Alt+Up.
The actual adjustment for pixel movements depends on zoom level. Zoom in for finer adjustment.