Manually placing labels in QGIS?

Yes, it's possible to manually place labels using the labeling tools in the label toolbar:

  • move label tool … move text labels to a new position
  • rotate label tool … allows for interactive rotation of labels
  • label property tool … opens a dialog where users can manipulate the properties and text of a label

BUT you won't be able to have curved labels anymore if you move/rotate the labels manually, as far as I know.

These tools allow you to mix fixed label positions and automatic label positioning inside a project. If the x or y attribute value is NULL, the position will be set automatically. When a label position is changed using “move label tool”, the position is written into the attribute fields and the label position for this feature is fixed.

To use these tools on existing layers, add x, y and rotation attribute fields (type double/real). By default, all values will be NULL and thus the layer will be labeled automatically. Now you’re ready to move and rotate the labels as you like. (Editing needs to be enabled while working with these tools!)


In QGIS 2.0 , for the layer whose labels you would like to manipulate:

  1. Open the attribute table and toggle to editing mode.
  2. Add the following columns, all of whose "type" should be selected as "decimal number (real)": "x", "y", & "rotation"
  3. Right click the layer name you wish to label in the "layers" menu and click "Labels"> "Placement".
  4. Locate the "Data Defined" panel. Click on the icon that appears next to "X", point to "field type:" and choose the "x" column that you just created.
  5. Repeat step four for the "Y" and "Rotation" selections.
  6. Ensure that your label toolbar is activated (View>Toolbars>Labels).

If the "move label", "rotate label", and "change label" icons were greyed out before, they should now appear in color and be usable.


I think there is a bug when using Move labels while in "use rule based labeling" mode in Qgis 2.12.1 Lyon on Windows.

Move labels remained greyed out. Move label works with normal labeling mode.