Inkscape is a free open source scalable vector graphics (svg) editor application. Its stated goal is to become a powerful graphic tool while being fully compliant with the XML, SVG, CSS and HTML5 standards.
Inkscape is for Linux, Windows and Mac OS X (under X11), and other Unix-like operating systems. As of 2013, Inkscape is under active development, with new features being added regularly. Inkscape's implementation of SVG and CSS standards is not at svg 1.1 standards; most notably, it does not support animations, and SVG fonts. However, complete support for both is on the roadmap. As of this writing inkscape is at version 0.48. The version numbering goal is to release a fully svg 1.1 compliant editor, labelled inkscape 1.1.
Inkscape has good multi-lingual support particularly for complex scripts, something currently lacking in most commercial vector graphics applications.
Inkscape began in 2003 as a fork of the Sodipodi project. Sodipodi, developed since 1999, was itself based on Gill, the work of Raph Levien.
The fork was led by a team of four former Sodipodi developers (Ted Gould, Bryce Harrington, Nathan Hurst, and MenTaLguY) who identified differences over project objectives, openness to third-party contributions, and SVG compliance as their reasons for forking. Inkscape, they claimed, would seek to focus development on implementing the complete SVG standard, whereas Sodipodi development had emphasized creating a general-purpose vector graphics editor, possibly at the expense of SVG.
Since the fork, Inkscape has, among other things, changed from using the C to C++; changed to the GTK+ toolkit C++ bindings (gtkmm); redesigned the user interface and added a number of new features. Its implementation of the SVG standard has shown gradual improvement, but is still incomplete.
Rather than top-down governance, its developers claim to encourage an equal culture where authority stems from an individual developer's abilities and active involvement in the project. As a result, the project places special emphasis on giving full access to its source code repository to all active developers, and on participation in the larger open source community (often in the form of inter-project initiatives and secondary projects like the Open Clip Art Library). While the project founders are still well-represented in the decision-making process, many newcomers have also come to play prominent roles. Among them is "bulia byak", architect of the profound user interface changes that have given Inkscape its present appearance.
Inkscape is currently a Google Summer of Code and linuxfund.org projects.
- Pencil tool (freehand drawing with stroked paths)
- Bezier Curves and Straight lines
- Calligraphy tool (freehand drawing with calligraphic strokes, graphics tablet pressure/angle support)
- Shape tools:
- Rectangles and Squares (optionally with rounded corners)
- 3D Boxes
- Circles, Ellipses and Arcs)
- Stars and Polygons (optionally rounded or randomized)
- Spirals (inner/outer controls, divergence)
- Text tool (text on path, flow into frame, support for unicode (ctrl+u))
- Diagram Connectors (i.e., flow charts, circuit boards)
- Linked or Embedded bitmap images, either imported or rasterized from selected objects.
- Spray Tool, duplicate pre-selected objects by sculpting or painting
- >Edit>Clones ("live" linked copies of objects). Other programs refer to similar functionality as "symbols".
- >Extensions>Render (generate menu driven objects)
- Object transformations (positioning, scaling, rotating, skewing), via freehand, snapped, locked, key combinations, by numeric values or dedicated dialogs (menus)
- Z-order operations, object stacking order within a layer
- Grouping objects, with a way to "select in group" without ungrouping, or "enter the group"
- Layers, with a way to lock and/or hide individual layers, rearrange them, etc; layers form a stacking order
- Cut, Copy and Paste operations of objects
- Alignment and Distribution commands, including grid arrange, randomization, unclumping
- A tool to create patterns of clones, using wallpaper symmetries plus arbitrary scales, shifts, rotates, and color changes, optionally randomized
- Grid, Guide, Node, Object and other options for snapping
- Color selector (RGB, HSL, CMYK, color wheel), color palette, picker ("dropper") tool
- Fill opacity, stroke opacity, master opacity, gradient stop opacity
- Gradients: linear and radial, may have multiple stops; can be edited on canvas or with a dedicated gradient editor, with draggable, sculpting (Alt+) and mergeable stops
- Pattern fills made from any objects or the patterns within the software
- Per file Swatch
- Dropper Tool, color picker can pick color under cursor, inverted color under cursor, or average color of cursor drag area
- Full dedicated (presets) filter menu and or a filter editor
- Masks and clip effects
- Dashed strokes, with predefined dash patterns
- Path Start, Mid and End Markers (e.g. arrowheads, dots, diamonds, etc)
- Ability to copy/paste style between objects
Operations on paths
- Node editing: positioning nodes and segments, curve handles, node alignment and distribution, scaling and rotating node groups, "node sculpting" (proportional editing of multiple nodes)
- Converting to path (for text, images or shapes), including converting stroke to path
- Boolean operations (union, intersection, difference, exclusion, division)
- Path simplification, with variable threshold
- Path insetting and outsetting, including dynamic and linked offset objects
- Clipping paths (non-destructive clipping)
- Bitmap tracing (both color and b/w)
- Path Effects Editor... contains over a dozen effects that can be manipulated on canvas and via menu settings.
- >Extensions >Modify Path, to add effects to existing paths and >Generate from Path for additional operations on paths.
- Multi-line text (SVG 1.0/1.1 <text>)
- Flowed text in frame(s) (<flowRoot>, formerly proposed for SVG 1.2)
- Full on-canvas editability, including styled text spans
- Uses any outline fonts installed on the system
- Can use any scripts and languages supported by the Pango library including complex scripts (e.g. Hebrew, Arabic, Thai, Tibetan etc.)
- Bold or Oblique (Italic), Align left/center/right, line spacing, character spacing, word spacing, character rotation, subscript, superscript, horizontal kerning, vertical shift, horizontal or vertical text.
- Text on path (both text and path remain editable)
- Spell Checking
- Unicode support (ctrl+u while in the 'Create & Edit Text Tool')
- 256x (25600%) maximum zoom
- Fully anti-aliased display
- Alpha transparency support for display and PNG export
- Normal, No Filter and Outline (wireframe) mode
- Collaborative editing over a network (whiteboard)
- Live watching and editing the document tree in the XML editor
- PNG export
- EnhancedPostScript (EPS) and PDF export
- Command line options for export, conversions, and analysis of SVG files
- RDF metadata (authorship, date, license, etc.)
- Extension support
- User interface is translated in more than 40 languages
Interface and usability
One of the priorities of the Inkscape project is interface consistency and usability. This includes efforts to follow the GNOME Human interface guidelines compliance, universal keyboard accessibility, and convenient on-canvas editing. Inkscape has achieved significant progress in usability since the project started.
The interface of Sodipodi (Inkscape's predecessor) was partly based on those of CorelDRAW and GIMP. The current Inkscape interface has been partially influenced by that of Xara Xtreme.
The number of floating dialog boxes has been reduced, with their functions available using keyboard shortcuts or in the docked toolbars in the editing window. The tool controls bar at the top of the window always displays the controls relevant to the current tool.
All transformations (not only moving but also scaling and rotating) have keyboard shortcuts with consistent modifiers (e.g. Alt transforms by 1 screen pixel at the current zoom, Shift multiplies the transformation by 10, etc.); these keys work on nodes in Node tool as well as on objects in Selector. The most common operations (such as transformations, zooming, z-order) have convenient one-key shortcuts.
Inkscape provides floating/mouse-over tooltips and status bar hints for all buttons, controls, commands, keys, and on-canvas handles. It comes with a complete keyboard and mouse reference (in HTML and SVG) and several interactive tutorials in SVG.
- On-line Book: A Guide to Inkscape