Hi Eli and Stephen, I tried to understand the different librsvg APIs (which is quite a mess) and AFAIU, rsvg_handle_get_geometry_for_layer use a viewport as input to render the SVG. See, here: https://gnome.pages.gitlab.gnome.org/librsvg/Rsvg-2.0/method.Handle.get_geometry_for_layer.html So in the case we have already read a viewbox, I'm using it as the viewport rectangle. I don't know if it is the best way but at least it works for me (i.e the image does not disappear below the baseline)