Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
GIMP Plug-in for Simple SVG Exports
#!/usr/bin/env python
# GIMP Plug-in for Simple SVG Exports
# Copyright (C) 2016 by Dylan Grafmyre <>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# based on an openraster plugin by Jon Nordby <>
import gimpfu
def register_save_handlers():
gimpfu.gimp.register_save_handler('file-svg-save', 'svg', '')
def save_svg(img, drawable, filename, raw_filename):
gimpfu.gimp.pdb.gimp_vectors_export_to_file(img, filename, None)
'file-svg-save', #name
'save an SVG (.svg) file', #description
'save an SVG (.svg) file',
'Dylan Grafmyre', #author
'Dylan Grafmyre', #copyright
'2016', #year
[ #input args. Format (type, name, description, default [, extra])
(gimpfu.PF_IMAGE, "image", "Input image", None),
(gimpfu.PF_DRAWABLE, "drawable", "Input drawable", None),
(gimpfu.PF_STRING, "filename", "The name of the file", None),
(gimpfu.PF_STRING, "raw-filename", "The name of the file", None),
[], #results. Format (type, name, description)
save_svg, #callback
on_query = register_save_handlers,
menu = '<Save>'
Copy link

Hello, will this plugin be ported to Python3 and capable of working with Gimp 3?

Copy link

@Just-Another-Gnumer Hey there
I think this script is already python3 compatible, I couldn't find a release candidate for "Gimp 3", could you help me find out more about what the changes to gimpfu will be? This might work on gimp3 already, please let me know if you have an issue

Copy link

I've never added a plug in file on gimp is there someone that could give me a quick step by step as to how I would do this.

Copy link


download the .py file, locate your gimp Assets folder,

- In Windows 7 and later versions:
     C:\Users\{your_id}\AppData\Roaming\GIMP\2.10 (a.k.a. %APPDATA%/GIMP/2.10)

- In Linux: /home/{your_id}/.config/GIMP/2.10 (a.k.a.

- In OSX: /Users/{your_id}/Library/GIMP/2.10/ or possibly
     Support/GIMP/2.10/ (this could depend on the GIMP build you use).
     (a.k.a. NSApplicationSupportDirectory/GIMP/2.10)

if necessary, create a "scripts" folder inside the asset folder (asset
folder usually has the version number in it),
place a copy of the .py file inside the scripts folder
quit gimp fully, and open it anew

It can be hard to confirm if a plugin got loaded, it may often be found
under Filters -> Script-Fu -> (plugin name), but it could be installed
under many different menus.

Copy link

In case it helps anyone else: On Linux, once the .py file has been installed in the $HOME/.config/GIMP/2.10/plug-ins directory, make sure the file has the "execute" bit set. If you're on the command line, you can do this: chmod +x {filename}.py.

At least that's what it took to make this plugin start working on my Linux box (Ubuntu 20.04).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment