How to Make Publication-Quality Figures with Inkscape: A Free Alternative to Illustrator

Create professional vector figures for journal submission using free, open-source Inkscape instead of Adobe.

Most journals require figures in vector format (PDF, EPS, or SVG) at specific resolution for any raster elements. Adobe Illustrator is the standard tool, but it costs hundreds of dollars annually. Inkscape is a free, open-source vector editor that does everything most scientists need. This tutorial shows you the workflow from exporting graphs to submitting a journal-ready figure.

Installing and Setting Up Inkscape

Download Inkscape from inkscape.org. Version 1.x is the current major release and is stable for scientific work. Installation is straightforward on macOS, Windows, and Linux.

Orienting Yourself to the Interface

When you first open Inkscape, the workspace might look overwhelming. Here’s what you need to know:

Toolbox (left side). Contains selection, drawing, text, and shape tools. You’ll use the selection tool (arrow icon at the top) 90% of the time.

Canvas (center). Your figure workspace. The white rectangle is your page.

Top bar (properties). Shows tool-specific options. When you select an object, this bar displays fill color, stroke (line) color, and stroke width.

Right panels (optional). Layers panel, Fill and Stroke panel, and more. If panels are hidden, go to View > Panels and enable what you need. For scientific figures, the most important panels are Layers and Fill and Stroke.

Setting Document Properties

Before importing anything, set up your document to match journal requirements.

Go to File > Document Properties. In the dialog:

  1. Set the page width to 180 mm (standard for two-column journal figures) or 85 mm for single-column
  2. Height can be variable; start with 200 mm
  3. Under the Units section, set everything to millimeters for metric journal submissions
  4. Close the dialog

Many journals specify that raster images embedded in figures should be at least 300 DPI. You’ll handle this when exporting; Inkscape stores images at their native resolution and lets you specify DPI at export time.

The Core Scientific Figure Workflow

Most scientists need to assemble panels (A, B, C, D), add labels, create scale bars, and adjust colors and fonts. This section walks through that exact process.

Importing Graphs and Images

Suppose you’ve exported a graph from R, Python, or Prism as a PDF or PNG. Here’s how to import it into your Inkscape figure:

Go to File > Import. Select your image file. Inkscape will prompt you: Embed or Link? For journal submission, always choose Embed. This embeds the image data directly in your Inkscape file, so the figure is self-contained and won’t break if you move or delete the original image.

Click on the canvas where you want the image placed. The image appears.

Repeat for all panels (A, B, C, D). You’ll arrange them next.

Arranging Panels with Precise Positioning

You now have four panel images scattered on your canvas. Select all of them by dragging a selection box around them or pressing Ctrl+A.

Use the Align and Distribute panel to organize them. Go to View > Panels > Align and Distribute, or press Shift+Ctrl+A.

To arrange panels in a 2x2 grid:

  1. Select two panels that should be in the top row
  2. In the Align panel, click the “Align right edges” button to align them horizontally
  3. Then select both top panels and both bottom panels and click “Distribute centers vertically” to space them evenly
  4. Manually adjust spacing by dragging panels with the selection tool until they’re visually balanced

Alternatively, do this roughly by hand; precision here is less critical than for alignment within panels. The key is that panels line up at their edges, not floating randomly.

Adding Panel Labels (A, B, C, D)

Panel labels must be consistent: same font size, same style, same position relative to each corner. Use the text tool (press T or click the text icon in the toolbox).

Click near the top-left corner of your first panel and type “A”. The text appears. Now set its properties:

  1. Select the text with the selection tool
  2. In the top bar, set the font size to 8 or 10 pt (smaller is better; panels should not be dominated by labels)
  3. Set the font to a sans-serif like Helvetica or Arial (matches most journal figures)
  4. Optionally make it bold
  5. Set the fill color to black (click the black square in the color palette at the bottom)

Duplicate this text label for panels B, C, D. In Inkscape, right-click the text and select “Duplicate,” then drag the copy to the next panel and change the letter with the text tool.

Align all labels so they’re at the same distance from the top-left corner of their respective panels. This gives your figure a professional appearance.

Adding Annotations: Arrows, Brackets, and Scale Bars

Scientific figures often need arrows pointing to structures, brackets indicating regions, or scale bars indicating physical size.

To draw an arrow:

  1. Use the line tool (press B or click the pencil/pen icon)
  2. Click once to set the start point, click again to set the end point
  3. With the arrow still selected, go to View > Panels > Fill and Stroke
  4. Under the Stroke Style tab, find the “End marker” dropdown and select an arrow style
  5. Adjust stroke width (thickness) to match other lines in your figure (typically 1-2 pt)

To draw a bracket:

  1. Use the line tool to draw two short lines forming an “L” shape (no arrows)
  2. Adjust width and position to frame the region you want to highlight
  3. Optionally add text above the bracket with the text tool

To add a scale bar:

  1. Draw a simple line using the line tool
  2. Make it a specific length by selecting it and checking the Transform panel (Object > Transform, or press Shift+Ctrl+T)
  3. Set the width (length) to the physical distance you want to represent (e.g., 10 µm, 50 mm)
  4. Add a text label below or above the line with the text tool (e.g., “10 µm”)
  5. Group the line and text together (select both, then press Ctrl+G) so they move as one unit

Working with Vector Elements

If your graph was exported from R or Python as a PDF or SVG (not PNG), you can edit individual elements within the figure directly in Inkscape.

Opening a PDF or SVG Graph

Go to File > Import and select your PDF or SVG. The import dialog may ask about options; accept defaults. The graph appears as an editable object on your canvas.

Click on the graph to select it, then right-click and choose “Ungroup” (Ctrl+Shift+G). Inkscape breaks the graph into individual elements: axes, lines, legend, text labels.

Now you can:

  1. Change colors. Select a line or bar in the graph. In the Fill and Stroke panel, change the fill color to match your preferred color scheme.
  2. Modify line weights. Select a line, then in the Stroke Style tab, increase or decrease the stroke width.
  3. Edit text. Double-click text labels (axis titles, legend labels) and change them directly.

This is powerful for adjusting exported figures without re-exporting from R or Python. However, if you have many figures to adjust, it’s often faster to tweak the R/Python code and re-export.

Color Considerations for Publications

Colors in scientific figures must be distinguishable for readers with color blindness (about 8% of men, 0.5% of women). They should also be perceptually uniform (so a reader intuits the correct magnitude of differences) and professional.

Using Colorblind-Safe Palettes

The Okabe-Ito palette is specifically designed for accessibility. Hex codes:

  • Blue: #0173B2
  • Orange: #DE8F05
  • Green: #029E73
  • Red: #CC78BC (magenta)
  • Sky blue: #56B4E9
  • Reddish: #F0E442 (yellow)

Alternatively, use Viridis or CividisColor maps, which are available in most visualization libraries and are both colorblind-safe and perceptually uniform.

Setting Exact Colors in Inkscape

Select the object (line, bar, or shape) and open the Fill and Stroke panel. Click the Flat Color button (first icon in the Fill row). The color picker appears. Click the hex color field and paste your desired hex code (e.g., 0173B2). Press Enter. The object changes to that color.

Do this for every colored element in your figure to ensure consistency.

Exporting for Journal Submission

Different journals have different format requirements. Inkscape lets you export in multiple formats.

PDF Export (Best for Vector Figures)

Go to File > Save As (or File > Export). Set the file type to “PDF”. Click Save.

In the PDF export dialog:

  • Set DPI to 300 (this applies to any embedded raster images)
  • Click Export

This produces a PDF with all vector elements (lines, text) as true vectors, maintaining sharpness at any zoom level.

TIFF Export at 300 DPI (for Raster Figures or Journal Requirements)

Go to File > Export PNG Image (or similar, depending on your version). Set:

  • Resolution: 300 DPI (critical for publication)
  • Filename: figure1.tiff
  • Click Export

This rasterizes your figure to a bitmap image at the specified resolution. Most journals accept TIFF, though PDF is preferred for vector content.

EPS Export (Legacy Format, Still Accepted)

Some older journals request EPS. Go to File > Save As and select Encapsulated PostScript (EPS). Follow the export dialog.

Common Journal Requirements and How to Meet Them

  • Nature, Science, PNAS: Prefer PDF for vector content, 300 DPI minimum for raster
  • Cell Press journals: PDF or high-resolution TIFF (300+ DPI)
  • Specialty journals: Vary; check your target journal’s submission guidelines

If unsure, export as PDF (preserves vector quality) and provide a 300 DPI TIFF as a backup.

Inkscape vs. Adobe Illustrator

Both are powerful vector editors. Here’s an honest comparison:

FeatureInkscapeIllustrator
CostFree~$20/month subscription
Learning curveModerateModerate
Basic panel assemblyExcellentExcellent
Annotation toolsExcellentExcellent
Advanced effects (3D, perspective distortion)LimitedExcellent
PDF importGood (occasional issues)Excellent
Performance with very large files (100+ MB)SlowerFaster
Compatibility with scientific workflowsExcellentExcellent
Extensibility (plugins)GoodExcellent

Where Inkscape falls short: Advanced visual effects (blur, distortion, 3D), very large files, and PDF import can sometimes produce unexpected results.

Where Inkscape matches Illustrator: Everything most life scientists need. Panel assembly, text, arrows, scale bars, color adjustments, and export to publication formats all work flawlessly.

For scientific figures, Inkscape is genuinely sufficient. If your figures require advanced effects or your lab already has Illustrator, use what you have. But if you’re looking for a free alternative, Inkscape is reliable.

Next Steps

Now that you can assemble figures in Inkscape, consider these extensions:

BioRender for biological diagrams. If you’re creating pathways, diagrams, or biological illustrations (not data plots), BioRender is complementary to Inkscape. BioRender specializes in drawing biological structures and signaling pathways; Inkscape excels at assembling and annotating pre-made figures. Many scientists use both.

Batch processing multiple figures. If you have 20 figures to assemble, consider automating panel layout with R or Python scripts that generate SVG files directly, then import and label them in Inkscape.

Version control for figures. Save your Inkscape files (.svg) alongside your manuscript for reproducibility. SVG is a text-based vector format and can be tracked in git.

Your Inkscape figures are now ready for submission to any journal that accepts PDF or high-resolution image files.