# Scientific Inkscape: resizing scientific plots without wrecking the labels

> Scientific Inkscape is a set of Inkscape 1.4 extensions for resizing plots, flattening imported figures and auto-exporting SVGs, aimed at people who assemble multi-panel figures for papers.

**burghoff/Scientific-Inkscape** — Scientific Inkscape: Inkscape extensions for figure resizing and exporting

- Repository: https://github.com/burghoff/Scientific-Inkscape
- Stars: 962 · Forks: 34
- Language: Python
- License: not declared
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/burghoff-scientific-inkscape

## The Scaler finds a plot area before it touches anything

Resizing a finished plot is harder than it looks, because a good scientific figure holds two kinds of content at once. The data itself, drawn as lines, markers and curves, should grow with the panel. The text around it, axis labels, tick labels and the title, should keep its size, because a label that has been scaled up no longer matches the body text of the paper. The Scaler extension in Scientific Inkscape is built for exactly that split. It scales the lines and data inside a plot while repositioning text and ticks instead of enlarging them. To decide what counts as inside the plot, the extension assigns a plot area, a bounding box calculated from the largest horizontal and vertical lines in the selection. Anything outside that box is left unscaled. When a figure has axes drawn without lines, the suggested workaround is to add a framed box temporarily so that a plot area can be found.

## Correction Mode and Matching Mode answer different layout questions

The Scaler offers two modes and they solve different layout problems. Correction Mode is for figures that have already been damaged by hand. If you dragged the corner of a plot in Inkscape and stretched it, the geometry no longer matches what the plotting program intended, and Correction Mode rebuilds that geometry. Matching Mode is for assembly. The plot area is made to match the size of the first object you select, which is convenient when you are placing subfigures side by side or matching a plot to a template rectangle drawn for the layout. There is a third path for everything else. When you want to scale something that is not a plot at all, while leaving text and groups untouched, you check the option named Selection has no well-defined plot area. That checkbox exists because the plot area detection has nothing to work with in a figure that has no axes.

## Exclusions and sub-groups keep markers from distorting

Plots with markers create a second problem, because markers are usually round or square and stretching them along with the data makes them look wrong. Scientific Inkscape offers two ways to keep them intact. The explicit route is the Advanced tab of the Scaler. You select the objects, open that tab, pick the appropriate option under Exclusions and click Apply. The objects are then marked invisibly, and every later scaling operation skips them. The implicit route is structural. Groups inside your grouped plot are treated as scale free by default, just like text, so wrapping an item in a sub group leaves it unchanged without opening any dialog. The options under Exclusions also cover locking the aspect ratio of an object while the rest of the plot scales, which is the case where a non uniform stretch would deform a marker.

## The Flattener is a prerequisite, not optional cleanup

Figures that arrive from other tools are rarely clean. PDF and EPS generation tends to clump every x axis tick label into one text object, every y axis tick label into another, and the title with the axis labels into a third. Each letter inside those objects is positioned on its own, which looks fine but makes any attempt to scale or restructure the figure painful. The Flattener removes that structure, and several of the other extensions expect it to have run first. It offers deep ungroup, which removes the deeply nested groups that imported figures arrive with and unlinks any clones, apply text fixes for the clumped and split text described above, and removal of background rectangles that have a white fill and no stroke. The Scaler workflow runs the Flattener first, then groups the plot, then scales.

```text
1. Run the Flattener on your figure to remove groups that may have been generated by the plotting program.
2. Group the elements of each plot into a single group (a grouped plot).
5. Select your grouped plots and run the Scaler.
```

The numbering above is the order the extension expects, and it is short enough to bind to a single hotkey.

## Autoexporter watches a folder and rewrites exports on every save

The Autoexporter removes the export step from the edit cycle. Figure work and paper writing alternate: you change an axis limit, check the result, then change a label and check again. Exporting by hand between those steps is what makes the loop slow. The Autoexporter runs in the background and watches a directory. Whenever SVGs in that directory change, it converts them to the formats you selected and writes the results to the output location you chose. You set three things: the formats, the directory to watch, and where the exports go. For documents typeset in LaTeX this has a direct payoff, because edits to the SVG can show up in the compiled document without a manual export and recompile step. The extension acts on files rather than on the open document, so a figure you are not currently looking at can still be re-exported when it changes on disk.

## Plain SVG and PDF exports route around Office and Acrobat rendering bugs

Formats fail in different ways, and the Autoexporter has options for both cases. When an SVG containing fonts and images is inserted into Microsoft Office, the rendering can differ from what Inkscape shows, so the export can look wrong inside PowerPoint or Word. The Autoexporter can generate plain SVG exports that are described as immune to those Office rendering bugs, which is what you want for a figure that has to live in a slide or a Word document. The same applies in the other direction, since PDF exports can be produced that are immune to Adobe Acrobat rendering bugs. Advanced options configure how images and text are stored in the export, and further options allow certain elements to be rasterized during export. A separate file in the repository, EXPORTING.md, holds the longer guidance on exporting choices.

## Installation is a file copy into the user extensions folder

Installation here is a file copy, not a package manager step. You need the latest release version of Inkscape, which must be 1.4. The extension files are distributed through the Inkscape extension gallery, and the instructions to follow are the ones linked from the gallery entry. Download all of the files in the scientific_inkscape folder, then copy them into the directory listed in your Inkscape preferences, and restart the application. After the restart the extensions appear under the Extensions menu, in a group named Scientific.

```text
Edit > Preferences > System: User extensions
Extensions > Scientific
```

Those are the two paths that matter: the first is where the files go, the second is where the commands appear. A third path is worth using, because the extensions can be mapped to hotkeys in the Edit > Preferences > Interface > Keyboard menu, which matters most for the Flattener since it should run before almost everything else. If a menu entry is missing after the copy, the first thing to check is that Inkscape really is version 1.4, and the second is that the whole scientific_inkscape folder was copied rather than a single file from it.

## Homogenizer, Text Ghoster, Combine by Color and Gallery Viewer cover the rest

The remaining extensions handle the small jobs that accumulate around a figure. The Homogenizer sets uniform fonts, font sizes and stroke widths across a selection, which is what you reach for when one imported panel uses a different type size than the others. Text Ghoster adds a semi-transparent background behind text so it can be overlaid on data without becoming unreadable. Combine by Color fuses paths that share the same color and style into a single path, which speeds up operations on plots with thousands of similar elements, such as markers. Favorite Markers lets you save particular markers and reuse them later. The Gallery Viewer shows every SVG in a file or a folder at once, so you can find and edit the one you need without opening each one in turn. All of these extensions were written by David Burghoff of UT Austin ECE.

## Conclusion

Scientific Inkscape earns a place if you build multi-panel figures from Matlab or Matplotlib output and need to resize plots without scaling their text, and it is the wrong tool if you only need a single export. Before you install anything, confirm that your Inkscape is version 1.4, that you can copy the scientific_inkscape folder into the user extensions directory, and that the changes in v1.4.25 (2026-06-09) match your figure pipeline. The last push was on 2026-10-19.

## FAQ

### What version of Inkscape does Scientific Inkscape require?

You must have the latest release version of Inkscape, which is 1.4. The extensions are then installed by copying the files in the scientific_inkscape folder into the user extensions directory and restarting Inkscape.

### How do I scale a plot in Scientific Inkscape without changing the text size?

Run the Flattener on the figure, group the elements of each plot into a single group, then select the grouped plots and run the Scaler. Lines and data are scaled while text and ticks are only repositioned.

### Does Scientific Inkscape export figures automatically?

Yes. The Autoexporter runs in the background, watches a directory and converts SVGs to the formats you selected whenever they change. It can also produce plain SVG exports that render correctly inside Microsoft Office.

## Sources

- [burghoff/Scientific-Inkscape on GitHub](https://github.com/burghoff/Scientific-Inkscape)
- [Issues](https://github.com/burghoff/Scientific-Inkscape/issues)
- [README](https://github.com/burghoff/Scientific-Inkscape/blob/main/README.md)
- [Releases](https://github.com/burghoff/Scientific-Inkscape/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/burghoff-scientific-inkscape
