This plugin georeferences a raster image by matching points you pick on the image with their known real-world coordinates (ground control points, or GCPs). It works identically on QGIS 3 and QGIS 4.
1.Installation
- Copy the raster_georeferencer folder as-is into your QGIS plugins directory
(Windows:
%APPDATA%\QGIS\QGIS3\profiles\default\python\plugins\; the QGIS 4 profile path follows the same pattern), or simply use Install from ZIP in the Plugin Manager. - Restart QGIS, then open Plugins > Manage and Install Plugins and enable Raster Georeferencer (GCP).
- Click the plugin's icon on the toolbar, or use Raster menu > Raster Georeferencer.
A Help button in the plugin window opens this guide at any time.
2.Opening a Raster
There are two ways to load the image you want to georeference:
- Open Raster... — browse to a file on disk (TIFF, JPEG, PNG, IMG, BMP, and other GDAL-supported formats).
- From Loaded Layer... — pick a raster that is already loaded in the current QGIS project. Only file-based (GDAL) layers are listed; WMS/WMTS/XYZ layers cannot be reopened this way. When you re-georeference a layer picked this way, its old coordinate information is fully discarded: the original layer is removed from the map and replaced by the new result under the same name, so you never end up with two copies.
Large images are automatically shown as a downscaled preview on screen for smooth panning and zooming. Every pixel coordinate you pick is still computed against the original, full-resolution image — the on-screen scaling never affects accuracy.
3.Picking Control Points (GCPs)
- Toggle Add Point, then click anywhere on the image with a known real-world coordinate. Each click adds a numbered marker on the image and a new row in the table on the right.
- Add as many points as you need — there is no limit. More well-distributed points generally produce a more accurate result.
- For each row, fill in X (Map) and Y (Map) with that point's known coordinate in your target CRS (both a dot and a comma are accepted as the decimal separator).
- Uncheck Enabled to temporarily exclude a point without deleting it, or select a row and click Delete Selected Point to remove it entirely.
Navigating the preview: scroll the mouse wheel to zoom in/out — the view zooms toward whatever point the cursor is over, not the canvas centre. Click and drag with Add Point switched off to pan. Use Fit to View to reset the view.
4.Georeferencing Settings
- Target CRS — the coordinate reference system your map coordinates are in.
- Transformation Type — the mathematical model used to fit the image to your points (see table below).
- Resampling Method — Nearest Neighbour, Bilinear, or Cubic; controls how output pixel values are interpolated.
- Output File — where the georeferenced GeoTIFF is written. Defaults to
the source file name with a
_georefsuffix. - Add result to QGIS as a layer — adds the finished raster to the map. This is forced on (and the old layer is replaced) whenever the source came from From Loaded Layer....
| Transformation | Minimum points | Typical use |
|---|---|---|
| Linear (1st order) | 3 | Simple shift / rotation / scale, small, flat images |
| Polynomial (2nd order) | 6 | Mild distortion across the image |
| Polynomial (3rd order) | 10 | Stronger, irregular distortion |
| Thin Plate Spline (TPS) | 3 | Locally-varying distortion; bends smoothly through every point |
More points than the minimum, spread evenly across the image, generally give a better fit for every transformation type.
5.Running Georeferencing
Click Run Georeferencing. The plugin builds an intermediate GCP-referenced dataset with GDAL Translate, then applies GDAL Warp to produce the final GeoTIFF. Defining new GCPs always discards any pre-existing georeferencing on the source, so old coordinate information can never leak into the result.
If the chosen output path is the same file as the source (in-place re-georeferencing), the plugin writes to a temporary file first and swaps it into place once finished, so the source is never at risk of corruption mid-write.
6.Preview Rendering Notes
The following source-image cases are detected automatically and rendered correctly in the on-screen preview (they do not affect the final georeferenced output, which always preserves the original raster data):
- Paletted / indexed rasters (common for scanned topographic map sheets) — expanded through their embedded color table instead of being shown as raw index values.
- CMYK-encoded TIFFs (common for scanned/print-origin maps) — converted to RGB instead of being shown as raw, inverted-looking channels.
- Images with an alpha channel — the alpha band is excluded from the preview, avoiding a case where a constant-value alpha channel could render as fully blank.
7.Troubleshooting
- “This plugin is incompatible with this version of QGIS” —
make sure you installed the current package version; earlier packages were missing
the
qgisMaximumVersionentry needed for QGIS 4. - A warning about GDAL not being found — the plugin requires the
osgeo.gdalmodule, which ships with QGIS's own Python environment; this normally only appears if the plugin is run outside QGIS. - “No module named 'qgis'” when running a file directly —
the plugin must be loaded through QGIS itself (Plugin Manager), not executed as a
standalone script; the
qgispackage only exists inside QGIS's Python. - The selected transformation type is greyed out or rejected — add more control points; each transformation type has a minimum point requirement (see the table above).