I need to be able to have the spacing between all of the items in my legend be the same space apart, regardless of the symbol size. The answer to this question is close, but I need to have the symbols in the legend be exactly the same size as in the actual map.

How can I align the items in my legend so that the spacing between the text is equal? Additionally, it would be great to have the symbols in the legend be centre-aligned.enter image description here

I'm using QGIS 2.18.6.

EDIT: I've removed the other data irrelevant to this question to preserve some anonymity.

2 Answers 2


In your composer legend properties, open the "Symbol" group. If you increase the "symbol height" setting to match the desired line height for each row, then QGIS will evenly space both the text to suit. Just make sure that your symbol height is at least equal to the maximum symbol height present in the legend.

enter image description here

  • Thanks for pointing this out. I had looked at the "Spacing" group in the legend options, which didn't work, but adjusting these options worked well. I had formerly accepted the other answer but I think I will change as this is probably the "intended way" of achieving this. Jun 7, 2017 at 1:24

Add an extra symbol to each symbol in your styling. This has to be a transparent symbol of constant size, roughly equal to the largest symbol in your cartography. A bit like this:

enter image description here

but there the second symbol is a white circle with an outline (purely so you can see it!), of size 5.8mm. Make it transparent fill, and no outline. Do that for all your symbols. Then it won't show up in the map on the map composition, but it will influence the spacing of the legend:

enter image description here

Compare with:

enter image description here

which yes, is a bit ick (ignore the slight change in blue symbols for 205, I'd been mucking about with it).

I'm surprised regular spacing isn't already an option (maybe I couldn't find it either!). I wonder if there's a request for equally-spaced legend items already, the print composer is getting some love soon.

Actually, after asking if this could be a feature request, it turn out its already there but I couldn't find it. Use the symbol height option in the legend options. Here:

enter image description here

Increasing the "Symbol Height" here to something bigger than your largest symbol should result in evenly spaced legend items.

  • That worked a treat, thanks. It also centre-aligned the symbols as well which is great. Jun 6, 2017 at 23:27
  • Just heard via the QGIS issue tracker of the easy way to do it! See edit!
    – Spacedman
    Jun 7, 2017 at 6:41

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.