Is it possible to set objects to scale in some way as you zoom in and out? Some objects are challenging to see at extremes of zoom. For instance, lines can be too thin to see when zoomed way out but become way thick when zoomed in.

  • 1
    Not a direct answer, but would switching to an outline mode in "View" - "Display Mode" - "Outline" solve your issue?
    – J.E
    Commented Nov 27, 2018 at 7:53
  • So... you want to zoom.. but not have objects change (visual display) scale when zooming? Isn't that a direct contradiction to what every zoom function does? And would ultimately make zoom worthless? Why would you need zoom at all if nothing changes display scale?
    – Scott
    Commented Nov 27, 2018 at 9:33
  • @J.E - you're right, not a direct answer, but interesting and useful nonetheless.
    – Jack
    Commented Nov 27, 2018 at 10:06
  • 1
    @Scott - if all objects scaled in every way, you're right, zoom would make no difference, but if some objects kept their line thickness it might be visually helpful.
    – Jack
    Commented Nov 27, 2018 at 10:06
  • 1
    I guess I still don't understand. I can't imagine how zoom would be helpful if it failed to maintain scale between objects. I see the entire point of a zoom function as the ability to see how objects relate to one another at varying display scales. If I want to align a path to a shape... when I zoom in, if that path does not maintain relative scale to the shape, any changes I make would be haphazard and random. To me, it merely sounds like you should not use zoom..
    – Scott
    Commented Nov 27, 2018 at 11:17

2 Answers 2


First of all ...

... I would refrain from using such an option. Changing the stroke width depending on the zoom would most likely trick you into thinking that your image looks different than it actually does. For working with very thin or thick lines, you can temporarily change to ViewDisplay ModeOutline.

Possible Solution

SVG elements can have the property vector-effect="non-scaling-stroke", see documentation. Inkscape respects that property, but you have to add it manually using the xml editor.

  1. Select an object.
  2. Open the xml editor.
  3. Under style, change vector-effect:none to vector-effect:non-scaling-stroke.
  4. Press set.

xml editor


Here are screenshots of an example image. There are two filled circles with a stroke of width 10px. Only the blue circle on the right has the property vector-effect:non-scaling-stroke.

The following screenshots were made at different zoom levels. For better comparison of the stroke width I copied small parts of all screenshot and pasted them right next to each other. As we can see, the blue circle keeps its stroke width for all zoom levels.

Scene at different zoom levels


  • In the example from above both circles have the same stroke width, but at zoom level 100% the yellow circle's stroke is thicker. Seems like a bug in Inkscape. I use version 0.92.2 2405546, 2018-03-11 on Linux.

  • You should change non-scaling-stroke back to none after you are done editing. Not all applications support it.

  • That might just work. My current Inkscape project uses Inkscape as a sort of fractal drawing storage facility, where some moderately detailed drawings are kept quite small, so that you can zoom in and see them, but when you zoom out, you see items on a larger scale. Hope I've explained that so it makes sense. I don't ever use "the whole drawing", I use parts of it, screen capped and exported. So your solution may work very well. Thank you!
    – Jack
    Commented Nov 30, 2018 at 3:13
  • Thanks for this brilliantly illustrated answer! I can confirm that the bug you mentioned, about line thickness not being equal at 100% zoom level, is still existing in 2022 (I use Inkscape version 1.0.2) Commented Oct 14, 2022 at 9:43

I ended up at this question for a different reason and want to add my solution in case someone has the same problem.

When exporting a vector graphic as an svg file from a python plot (e.g. created using plotly) and importing this file into inkscape, some of the lines, by default (!), will have the property that the question by user Jack was asking for: lines will change their thickness when zooming such that on screen they always have the same thickness. This was undesired in my case and is illustrated in these figures:

Zoomed-in version:

enter image description here

Zoomed-out version:

enter image description here

As you can see, the green line thickness automatically changes with the zoom, such that on screen the line thickness is always the same - not good if you want to know what your figure actually looks like!

As pointed out by user Socowi, one simply needs to edit the vector-effect:non-scaling-stroke property of those lines, in my case, removing this option from the lines. In the plots shown above, I removed this property from the lines of the red boxplot and zooming in and out now works as it should.

However, if you don't want to edit this property for all your lines, you can rest assured that when exporting to pdf, line-thickness will again scale with zoom as intended.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.