$linuxjunkies
>

Install Inkscape and Master the Basics

Install Inkscape via Flatpak, AppImage, or distro packages, then learn layers, paths, Boolean operations, shortcuts, and SVG/PNG export for the web.

BeginnerUbuntuDebianFedoraArch9 min readUpdated June 7, 2026

Before you start

  • A working desktop environment (X11 or Wayland)
  • Flatpak installed and Flathub configured (if using the Flatpak method)
  • Node.js installed if you plan to use svgo for SVG optimization
  • Basic familiarity with mouse and keyboard shortcuts

Inkscape is the go-to open-source vector editor for everything from SVG icons to print-ready illustrations. It runs on every major distro and can replace Adobe Illustrator for a surprising range of tasks. This guide gets you installed via the best method for your setup, then walks through the core concepts you need to be productive fast.

Installation: Choosing Your Method

Three realistic options exist: distro packages, Flatpak, and AppImage. Each has trade-offs.

Distro Packages (Fastest, Possibly Older)

Repo packages integrate tightest with your system fonts and file manager but may lag behind upstream by a release or two. Inkscape 1.x is the modern series; avoid anything older.

# Debian / Ubuntu
sudo apt update && sudo apt install inkscape
# Fedora
sudo dnf install inkscape
# Arch / Manjaro
sudo pacman -S inkscape

Flatpak gives you the current stable release regardless of distro and sandboxes it cleanly. This is the method that tracks upstream closest without going cutting-edge.

# One-time Flathub setup (skip if already configured)
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.inkscape.Inkscape
# Launch
flatpak run org.inkscape.Inkscape

Wayland note: Inkscape 1.3+ has improved Wayland support, but if you see blurry rendering or input bugs under a pure Wayland session, force XWayland by prefixing the launch command with DISPLAY=:0 or setting the environment variable GDK_BACKEND=x11. Most users on GNOME 45+ will be fine without this workaround.

AppImage (Portable, No Install)

Use AppImage when you need a specific version without touching system packages, or you're on a locked-down machine.

# Download from https://inkscape.org/release/
# Then make it executable and run
chmod +x Inkscape-*.AppImage
./Inkscape-*.AppImage

AppImages don't auto-update; you manage versions manually. They also won't appear in application menus unless you use a tool like appimagelauncher.

The Interface at a Glance

When Inkscape opens, you see a canvas (white rectangle), a toolbox on the left, a properties bar at the top that changes with your active tool, a color palette at the bottom, and an XML editor you can open with Ctrl+Shift+X. Everything is dockable and rearrangeable via View → Show/Hide.

Working with Layers

Layers keep complex illustrations manageable. Every SVG has at least one layer. Open the Layers panel with Ctrl+Shift+L (or Layer → Layers…).

Creating and Naming Layers

# Inkscape has no CLI for layer manipulation;
# all layer work is done in the GUI or via Python extensions
  • Click the + button in the Layers panel to add a layer; give it a descriptive name immediately.
  • Drag layers in the panel to reorder them — higher in the list means rendered on top.
  • Lock a layer with the padlock icon to prevent accidental edits.
  • Toggle the eye icon to hide a layer while working.

Objects placed while a layer is active belong to that layer. Use Layer → Move Selection to Layer Above/Below to relocate objects after the fact.

Understanding Paths

Everything in a vector drawing ultimately becomes a path — a sequence of nodes connected by straight or curved segments. Rectangles and circles are shape objects until you convert them; paths give full control over every anchor point.

Converting Shapes to Paths

Select any shape, then:

# Keyboard shortcut equivalent:
# Select object → Shift+Ctrl+C

That's Path → Object to Path. After conversion, switch to the Node tool (N) to drag individual nodes or adjust curve handles.

Boolean Path Operations

Select two overlapping objects and combine them with path operations under the Path menu:

  • Union (Ctrl++) — merges both shapes into one.
  • Difference (Ctrl+-) — subtracts the top object from the bottom; great for punching holes.
  • Intersection (Ctrl+*) — keeps only the overlapping region.
  • Exclusion (Ctrl+^) — keeps non-overlapping areas, removes intersection.

Essential Keyboard Shortcuts

ActionShortcut
Select toolS or F1
Node toolN or F2
Zoom to fit page5
Zoom in / out+ / -
Pan canvasMiddle-click drag or Space+drag
Group selectionCtrl+G
UngroupCtrl+Shift+G
Duplicate in placeCtrl+D
Align and DistributeCtrl+Shift+A
Fill and Stroke dialogCtrl+Shift+F
Undo / RedoCtrl+Z / Ctrl+Y

Exporting for the Web

Inkscape's native format is SVG, which is already web-ready. For raster exports or optimized SVGs, use the Export dialog.

Exporting as PNG

Open File → Export PNG Image (Ctrl+Shift+E). Choose one of four scopes: Page, Drawing, Selection, or Custom area. Set DPI (96 is screen-standard, 300 for print) and click Export As, then Export.

Saving a Clean SVG for the Web

Use File → Save a Copy and choose Plain SVG rather than Inkscape SVG. Plain SVG strips Inkscape-specific metadata, reducing file size. For further optimization, pipe it through svgo:

# Install svgo (requires Node.js)
npm install -g svgo

# Optimize
svgo input.svg -o output.svg

A typical icon SVG shrinks 20–60% through svgo without visible quality loss. Always check the output in a browser before shipping.

Batch Export via CLI

Inkscape ships with a capable command-line interface, useful for CI pipelines or batch jobs:

# Export a specific layer as PNG at 192 DPI
inkscape --export-type=png \
         --export-dpi=192 \
         --export-filename=output.png \
         input.svg
# Convert SVG to PDF
inkscape --export-type=pdf \
         --export-filename=output.pdf \
         input.svg

If installed via Flatpak, prefix commands with flatpak run org.inkscape.Inkscape in place of inkscape.

Verifying Everything Works

  1. Launch Inkscape and confirm the title bar shows version 1.2 or higher (Help → About Inkscape).
  2. Create a rectangle, convert it to a path (Shift+Ctrl+C), and drag a node with the Node tool — you should see smooth curve handles appear.
  3. Export the canvas as a PNG at 96 DPI and open it in your image viewer to confirm the output matches what's on screen.
  4. Run inkscape --version in a terminal to confirm CLI access works (Flatpak users: use the full flatpak run prefix).

Troubleshooting

Inkscape Crashes on Launch (Flatpak)

Run flatpak update first. If it persists, reset the user config directory: rm -rf ~/.var/app/org.inkscape.Inkscape/config/inkscape. This deletes custom preferences, so back up any templates first.

Fonts Missing or Wrong

The Flatpak sandbox may not see all system fonts. Install fonts into ~/.local/share/fonts/ and run fc-cache -f; the Flatpak runtime reads this directory. Alternatively, install org.freedesktop.Platform.html5emu or check the Flathub page for font-related runtime extensions.

SVG Opens Blank or Corrupted

Open the XML editor (Ctrl+Shift+X) and check for namespace errors. If the file came from Illustrator, it may use proprietary AI extensions Inkscape ignores — try File → Clean Up Document then save as Plain SVG to strip unknown elements.

CLI Exports Produce No Output

Verify the input path is absolute or correctly relative, and that the output directory exists. Inkscape won't create missing parent directories silently.

tested on:Ubuntu 24.04Fedora 40Arch 2024.05.01Debian 12

Frequently asked questions

What's the difference between Inkscape SVG and Plain SVG?
Inkscape SVG includes extra metadata like layer labels, guides, and grid settings that only Inkscape understands. Plain SVG strips those out, producing a smaller, more portable file that renders identically in browsers and other SVG-aware tools.
Is Inkscape suitable for print work, or just screen graphics?
Inkscape handles print work well — it supports CMYK color via extensions, exports to PDF, and works in physical units like millimetres. However, it lacks native CMYK color management in the core UI, so for professional prepress, verify output with your printer's proofing tools.
Why does text look different after I open my SVG in a browser?
SVG text uses font names, and if the browser can't find the same font, it substitutes a fallback. Convert text to paths (Path → Object to Path) before exporting if exact letterforms matter, or embed a web font using a @font-face CSS rule in the SVG.
Flatpak vs AppImage — which should I choose day-to-day?
Flatpak integrates better with system file pickers, portals, and application menus, and updates automatically with flatpak update. AppImage is better when you need a specific version pinned or can't use Flatpak on your system.
Can I run Inkscape extensions or plugins?
Yes. Extensions live in ~/.config/inkscape/extensions/ (or ~/.var/app/org.inkscape.Inkscape/config/inkscape/extensions/ for Flatpak). Many are Python scripts; ensure the Flatpak has access to a Python runtime, or install the extension's dependencies inside the sandbox using flatpak-spawn.

Related guides