LinuxCommandLibrary

inkscape

Create and edit vector graphics

TLDR

Open an SVG file in the Inkscape GUI

$ inkscape [path/to/file.svg]
copy

Export an SVG file into a bitmap with the default format (PNG) and the default resolution (96 DPI)
$ inkscape [path/to/file.svg] [[-o|--export-filename]] [path/to/filename.png]
copy

Export an SVG file into a bitmap of 600x400 pixels (aspect ratio distortion may occur)
$ inkscape [path/to/file.svg] [[-o|--export-filename]] [path/to/filename.png] [[-w|--export-width]] 600 [[-h|--export-height]] 400
copy

Export the drawing (bounding box of all objects) of an SVG file into a bitmap
$ inkscape [path/to/file.svg] [[-o|--export-filename]] [path/to/filename.png] [[-D|--export-area-drawing]]
copy

Export a single object, given its ID, into a bitmap
$ inkscape [path/to/file.svg] [[-i|--export-id]] [id] [[-o|--export-filename]] [object.png]
copy

Export an SVG document to PDF, converting all texts to paths
$ inkscape [path/to/file.svg] [[-o|--export-filename]] [path/to/filename.pdf] [[-T|--export-text-to-path]]
copy

Duplicate the object with id="path123", rotate the duplicate 90 degrees, save the file, and quit Inkscape
$ inkscape [path/to/file.svg] --select=path123 --verb="[EditDuplicate;ObjectRotate90;FileSave;FileQuit]"
copy

SYNOPSIS

inkscape [OPTIONS...] [FILE...]
inkscape --shell

PARAMETERS

-V, --version
    Prints the Inkscape version and exits.

-h, --help
    Displays a help message with command-line options.

-f, --file=FILE
    Opens the specified SVG FILE. Multiple files can be specified for batch processing.

-o, --export-filename=FILENAME
    Specifies the output FILENAME for exported documents. This is used in conjunction with export options like --export-type.

-e, --export-png=FILENAME
    Exports the document or selected objects to a PNG image file with the specified FILENAME.

--export-type=TYPE
    Specifies the export format, such as png, pdf, ps, eps, svg, plain-svg, optimized-svg, webp, or jpg.

--export-area-drawing
    Exports the area defined by the drawing content (bounding box of all objects), rather than the page boundaries.

--export-id=OBJECT_ID
    Exports only the object with the specified OBJECT_ID. Useful for exporting individual elements from a complex SVG.

--actions=ACTIONS
    Executes a semicolon-separated list of ACTIONS on the document and then exits. This is a powerful feature for scripting complex operations and transformations.

--shell
    Enters an interactive shell mode, allowing multiple commands to be executed without restarting Inkscape for each operation, ideal for complex scripting.

--without-gui
    Runs Inkscape in a headless mode, without displaying the graphical user interface. Ideal for batch processing and server-side operations.

DESCRIPTION

Inkscape is a powerful free and open-source vector graphics editor. It uses Scalable Vector Graphics (SVG) as its native format, supporting many advanced SVG features like markers, clones, and alpha blending. It offers a rich set of tools for creating and editing vector artwork, including tools for drawing, shape creation, text manipulation, path operations, and various transformations.

While primarily known for its graphical user interface, Inkscape also provides a robust command-line interface, making it suitable for scripting, batch processing, and automated tasks such as converting SVG files to other formats (PNG, PDF, EPS, etc.) or applying modifications without opening the GUI. It is widely used by designers, illustrators, and web developers for creating illustrations, logos, diagrams, icons, and web graphics.

CAVEATS

Complex or very large SVG files can be resource-intensive, potentially leading to slow performance or high memory consumption. The command-line interface, while powerful, requires familiarity with internal object IDs and a specific action syntax for advanced scripting, which can have a learning curve. SVG rendering can sometimes vary subtly across different browsers or viewers due to varying levels of SVG standard implementation.

KEY FEATURES

Native Scalable Vector Graphics (SVG) format support, comprehensive object creation and manipulation tools (paths, shapes, text), extensive text support, powerful alpha blending, gradients, patterns, and filters. It also supports extensibility through Python scripts and a rich set of command-line actions for custom functionalities.

COMMON USE CASES

Creation of logos, icons, web graphics, illustrations, diagrams, and technical drawings. Its robust command-line capabilities make it invaluable for batch image conversion, SVG optimization, and automated design workflows in scripting environments.

HISTORY

Inkscape was originally forked from the Sodipodi project in 2003, with the goal of creating a vector graphics editor fully compliant with the SVG standard and focusing on a user-friendly interface. The project emphasizes adherence to W3C SVG standards, usability, and extensibility. Over the years, it has grown significantly, gaining a large community of users and developers, and becoming a leading open-source alternative to commercial vector graphics software.

SEE ALSO

gimp(1), convert(1), rsvg-convert(1), display(1)

Copied to clipboard