I'm using QGIS 2.18. The screenshot below shows the print composer.

enter image description here

At the moment, the only way I can reduce the size of symbols in the print composer is to reduce the size of the symbol on the map.

In the attached, the green star symbol in the print composer legend is huge. How can I reduce the size of the green star symbol in the print composer legend, but keep the size of the green star the same on the map?

  • 1
    I think the issue is raised from the fact that you're creating a plan, not a map. From my (brief) time in architecture, trees weren't symbolized more than they were represented as drawing objects with defined dimensions (mostly the diameter). Symbology and semiology have rules that we must adhere to that applies to abstract representations of objects. In this case you're trying to show the relative sizes of the trees and I feel creating actual objects instead of symbolizing them would work better.
    – Gabriel
    Commented Jan 28, 2019 at 19:05

2 Answers 2


I suggest to :

  1. Duplicate the layer (Right click on it in the layer panel and duplicate)

  2. Give a small size to the duplicated layer

  3. Refresh in the print composer ( you will have two "Coniferous Tree" Layers)

  4. Uncheck the "Auto Update button", select the Bigger layer and remove it from the legend

enter image description here

  • 1
    Thanks that feels like a workaround rather than a solution. Is there not a direct solution?
    – luciano
    Commented Jan 28, 2019 at 16:09
  • 2
    @luciano I'd invite you to take a look at this nice primer on legends in cartography (but it applies to statistics in general, too). The important part: Legends should ALWAYS explain symbology exactly as it looks on the map. Legend symbols should be exactly the same size, orientation, color, etc. as they appear on the map. This is probably the main reason why it is not a feature and requires workarounds to achieve.
    – Gabriel
    Commented Jan 28, 2019 at 18:50

In QGIS 3.x (and QGIS 2.18 as well) you can easily configure different symbol sizes in your legend via expressions based sizing. If "Legend" is the Item ID of your legend use the following expression for your symbol size (i.e. 5 in legend, 10 in canvas/map):

if(@item_id = 'Legend',5,10)
  • where does this expression go? it has no effect when implemented in a data defined size field...
    – maxwhere
    Commented Jul 13, 2020 at 16:10
  • 1
    It should have an effect, if you name the legend in your layout „Legend“ and set the data defined size field of your layer to the given expression. But in QGIS 3.14 it‘s obsolete. You can change the legend symbols as you like.
    – christoph
    Commented Jul 13, 2020 at 16:35

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.