I would like to create a scale bar for a map displaying a coral atoll. Ideally, showing two different measurements with kilometers being on the top division and nautical miles on the bottom division of the scale bar.

I paused to think whether this is logical and decided that it may fit nicely because I am displaying a raised atoll with surrounding reef sites for monitoring purposes. Therefore, it may be important as areas of interest are within a water body and for say navigational purposes such as a skipper wanting to know the nautical miles to each site rather than kilometers (I know she/he could convert them by head).

Is this at all possible in QGIS? I have read that it can be done in ArcGIS http://support.esri.com/technical-article/000011784

Open to your views and suggestions.

What I am trying to achieve:

what I am trying to achieve

  • 6
    Welcome to GIS:SE @Beaver! I would suggest creating two scalebars and placing them on top of the other. Then select and group them so that they can be moved as if they were one scalebar. To create a scalebar with the labels below it, you can have a look at this post: Putting scale bar labels below scale bar in QGIS?
    – Joseph
    May 17, 2017 at 12:53
  • 3
    Agree with @Joseph. This is the most forward approach to achive this now. For easier matching two scalebars, you can copy and paste the first one and with enabled Smart guidlines (View menu) move the copy over the original to match. Then adjust the properities and group.
    – Oto Kaláb
    May 17, 2017 at 13:04
  • Duly noted, thank you both Joseph and Oto Kaláb for swift responses.
    – Beaver
    May 17, 2017 at 13:26
  • 1
    Likely to be an enhancement in QGIS 3.0x as the composer is getting a rebuild. see the progress github.com/qgis/QGIS-Documentation/milestone/7
    – Mapperz
    May 17, 2017 at 13:37
  • 1
    @Joseph please consider posting your comment as an answer
    – underdark
    May 17, 2017 at 17:50

1 Answer 1


I think there's a few steps involved and you may need three scalebars (instead of the two in my previous comment).

  1. Create your first scalebar showing kilometers:

    kilometers scalebar

  1. Create your second scalebar showing nautical miles:

    Nautical miles scalebar

  1. Select the nautical mile scalebar and copy/paste it below (Ctrl+C, Ctrl+V will do, thanks to @Oto Kaláb for this very useful tip!):

    Copied scalebar

  1. Modify the original nautical scalebar and set its Font colour to match the background colour:

    Item Properties > Fonts and colours > Font colour

  1. Then modify the copied scalebar and set its Font colour to black and its Line colour to transparent:

    Item Properties > Fonts and colours > Font colour
                                        > Line colour

    Colour settings

  1. Align both nautical scalebars so that the numbers are below the ticks. Then select both these nautical scalebars and group them:

    Group items

  1. Select the kilometer scalebar and raise it (this is needed for the next step):


  1. Select and align the grouped nautical scalebars over the kilometer scalebar so that the line overlaps. The raise setting avoids little artifacts such as white gaps from showing. You can change the X and Y positions for the grouped nautical scalebars from the Position and size properties to align it perfectly:

    Item Properties > Position and size

  1. Finally, select the grouped nautical scalebars and the kilometer scalebar and group these. Now, hopefully, you should have a dual-unit scalebar:


  • 4
    done it this way before and it worked well - thanks for reminding me :)
    – Steven Kay
    May 18, 2017 at 11:38
  • 2
    @StevenKay - Yes, I just remembered you mentioned it before :). Hopefully QGIS 3.0 will have nicer and easier features to use =)
    – Joseph
    May 18, 2017 at 11:41
  • 1
    @Joseph I like your way of working this out, my scale bars have never looked better. One of them days where I was mapped out but now I'm glad I asked this question and hopefully this helps others too.
    – Beaver
    May 19, 2017 at 12:36
  • @Beaver - Glad you got it working! I like to think that all questions asked here helps someone :)
    – Joseph
    May 19, 2017 at 12:40

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.