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:
- Set the page width to 180 mm (standard for two-column journal figures) or 85 mm for single-column
- Height can be variable; start with 200 mm
- Under the Units section, set everything to millimeters for metric journal submissions
- 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:
- Select two panels that should be in the top row
- In the Align panel, click the “Align right edges” button to align them horizontally
- Then select both top panels and both bottom panels and click “Distribute centers vertically” to space them evenly
- 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:
- Select the text with the selection tool
- In the top bar, set the font size to 8 or 10 pt (smaller is better; panels should not be dominated by labels)
- Set the font to a sans-serif like Helvetica or Arial (matches most journal figures)
- Optionally make it bold
- 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:
- Use the line tool (press B or click the pencil/pen icon)
- Click once to set the start point, click again to set the end point
- With the arrow still selected, go to View > Panels > Fill and Stroke
- Under the Stroke Style tab, find the “End marker” dropdown and select an arrow style
- Adjust stroke width (thickness) to match other lines in your figure (typically 1-2 pt)
To draw a bracket:
- Use the line tool to draw two short lines forming an “L” shape (no arrows)
- Adjust width and position to frame the region you want to highlight
- Optionally add text above the bracket with the text tool
To add a scale bar:
- Draw a simple line using the line tool
- Make it a specific length by selecting it and checking the Transform panel (Object > Transform, or press Shift+Ctrl+T)
- Set the width (length) to the physical distance you want to represent (e.g., 10 µm, 50 mm)
- Add a text label below or above the line with the text tool (e.g., “10 µm”)
- 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:
- 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.
- Modify line weights. Select a line, then in the Stroke Style tab, increase or decrease the stroke width.
- 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:
| Feature | Inkscape | Illustrator |
|---|---|---|
| Cost | Free | ~$20/month subscription |
| Learning curve | Moderate | Moderate |
| Basic panel assembly | Excellent | Excellent |
| Annotation tools | Excellent | Excellent |
| Advanced effects (3D, perspective distortion) | Limited | Excellent |
| PDF import | Good (occasional issues) | Excellent |
| Performance with very large files (100+ MB) | Slower | Faster |
| Compatibility with scientific workflows | Excellent | Excellent |
| Extensibility (plugins) | Good | Excellent |
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.