I have a layer of vectors located around, say, (100, 100), and I want to move them to new coordinate like (1000, 1000).

How should I do it using QGIS?

  • For others who find this question and are using QGIS 3.x, make sure you scroll down to the answer from user29347. There's no need for plugins now; Toolbox > Vector Geometry > Translate is really straightforward.
    – EcologyTom
    Commented Jun 28, 2021 at 10:07

6 Answers 6


Yep sure can. Like alexgleith said you can use the qgsaffine plugin (from the plugin installer)

The top of the first line is at 0,0 and the top of the second line is at 5,5. At the start the points are along 0 on the X. enter image description here

Using the Affine plugin we can add 5 to all the X coordinates:

enter image description here

Then after they are all on the second line at X 5, Y 5:enter image description here

  • I was happy to try this but first the interface of plugin looks very different now and second there is some limitation because there is no way I can put there 7500000 as is standard value when using GDA94 grid or UTM grid...
    – Miro
    Commented Mar 18, 2014 at 3:47
  • 1
    Umm, I moved it first manually with move tool as it is said in the second answer.
    – Miro
    Commented Mar 18, 2014 at 3:53
  • "The top of the first line is at 0,0 and the top of the second line is at 5,5." how can it be, if both lines are aligned vertically?
    – Rodrigo
    Commented Oct 21, 2019 at 11:45

In QGIS 3.x there is no need for plugin to move vector shapes any more as there is routine called "Translate" in Toolbox -> Vector Geometry. You simply put offset distance for x and y axis and run it or, - as said above, if you prefer manual positioning, start edit layer, select all entities and move them with "Move feature" tool.

enter image description here


The plugin in the accepted answer is not available anymore. The Affine Transformations is available and is very useful.

With this plugin you can create a formula. In the screenshot I shifted all cells with 17.396 (meters) to the north.

screenshot of the main screen of the plugin

  • What do x' and y' mean? Why the first is 1 and the second 0 by default? Why are there two of each x+ and y+? Why the second x+ is 1 by default, with all the rest 0?
    – Rodrigo
    Commented Oct 21, 2019 at 11:26
  • 2
    The x' and y' means the derived x and y from the original vector layer. You have to read it like this: derived x= (1.0 * original x) + (0.0 * original y) + 0.0 This means that there is no change in the x direction, hence 1.0 times x. I wanted to shift all cells up (to the north) by 17.396 meters. So I only added 17.396 to (1 * y). When you don't want to have a change at all, you just use: x' = (1 * x) + (0 * y) + 0 and y' = (0 * x) + (1 * y) + 0
    – Gert
    Commented Oct 24, 2019 at 12:44
  • Thank you! Now I got it.
    – Rodrigo
    Commented Oct 24, 2019 at 12:49

If you want to move them manually, simply start editing, select the features you want to move and then select the move tool and shift them.

To move them by a particular x,y offset, you might be able to use the python plugin "qgsaffine".

I am not up to date with using the python console, but there is probably a solution there too.

  • 2
    Unfortunately, QGIS memory usage goes through the roof and crashes unless you're only moving a few simple objects.
    – Damien
    Commented Apr 26, 2013 at 1:05

I find the "Numerical vertex edit" plugin very useful for specifying new coordinates for a point.

On an editable layer, use the tool to select a point, then you will be prompted to enter the new coordinates.


There is a plugin called move on the code repository.

It moves shapes from point A and B and does that without complications.

It Move all selected objects from point to point with snap.

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.