Green gridded globe beside overlapping contour-map sheets, with a dashed arrow connecting an orange displaced coordinate marker to a green aligned marker.

A point layer appears offshore. A road network sits hundreds of kilometres from its boundary. Changing the project coordinate reference system (CRS) moves the map canvas, but the stray layer still does not line up. The repair starts with the numbers in the source, not with a search for a projection that makes the map look plausible.

Separate the layer CRS from the project CRS

A layer CRS tells QGIS how to interpret that layer’s stored coordinates. In EPSG:4326, a point might have longitude 10 and latitude 50, expressed in degrees. In a projected CRS, coordinates may instead be expressed in metres. The code attached to a layer must describe the coordinates it actually contains.

The project CRS controls the coordinate system used to draw the map canvas. QGIS transforms correctly identified layers into that system for display. A layer stored in EPSG:4326 can therefore appear alongside a basemap displayed in EPSG:3857 without rewriting the layer’s coordinates. This is on-the-fly display reprojection; it depends on the source CRS being right in the first place. QGIS explains the distinction in its guide to layer and project coordinate reference systems.

Consider a CSV with columns named longitude and latitude. One row contains 10,50. If those fields hold decimal degrees, select longitude as X, latitude as Y, and EPSG:4326 as the geometry CRS when importing it. The project may remain in EPSG:3857: QGIS will transform the point for the canvas. Its stored CSV values remain 10 and 50. The QGIS delimited-text import instructions identify the X field, Y field and Geometry CRS as separate choices.

Inspect the input before changing anything

Start with the original file and any accompanying metadata. Open a few records, note the coordinate field names and ranges, then inspect the layer’s reported CRS in QGIS. Record the project CRS separately. If the data came as a Shapefile, retain its accompanying projection file while checking the source; if it came as CSV, do not assume the project CRS describes its columns.

The numbers often narrow the problem:

  • Degree-shaped values labelled as metres: Longitudes generally fall between −180 and 180, and latitudes between −90 and 90. Values such as 10,50 are a reason to investigate a geographic CRS when a layer claims to use a metre-based projection. They are a clue, not proof of EPSG:4326.
  • X and Y reversed: For longitude and latitude fields, X takes longitude and Y takes latitude in this CSV workflow. Check the actual field mapping in the import dialog. A plausible pair can still plot somewhere unexpected when its columns are swapped.
  • Unknown source CRS: Coordinates in the thousands or millions may belong to a projected system, but their size alone does not identify an EPSG code. Look for the provider’s metadata, a data dictionary or a documented survey specification. Ask the provider when the definition remains uncertain.
  • Only one layer is displaced: Compare that layer’s source CRS and coordinate values with a layer whose position you trust. Changing the project CRS affects the display of every layer and rarely establishes what the displaced source values mean.

A symptom-to-cause decision tree

  1. Does the layer have geometry? If a CSV appears only as a table, return to the delimited-text import settings. Select point coordinates, confirm the X and Y fields, and inspect the preview. A CRS cannot place records that have not been made into points.
  2. Do the raw coordinates match the claimed layer CRS? If degree-like longitude and latitude values are labelled EPSG:3857, investigate incorrect CRS metadata. If the fields really contain projected coordinates, establish their source definition before making a change.
  3. Are the correct fields mapped to X and Y? If not, correct the import mapping or the source columns. Assigning another CRS will not exchange the two values.
  4. Is the source CRS known from reliable documentation? If yes, assign that CRS to the existing coordinates or reimport the CSV with the correct Geometry CRS. If no, stop short of a permanent conversion. QGIS’s projection guidance advises checking accompanying metadata or the data provider when a layer’s CRS cannot be determined automatically.
  5. Does a known point align after the source CRS is corrected? If it does, decide whether you need a new stored dataset in a different CRS. If it does not, revisit field mapping, coordinate format, source documentation and the reference layer before trying another projection.

Assign the source CRS or reproject the geometry?

Assigning a CRS changes the meaning attached to existing coordinate numbers. It is appropriate when the numbers are sound but their CRS is missing or incorrectly labelled. If 10,50 truly means longitude 10°, latitude 50° in EPSG:4326, assigning EPSG:4326 leaves those values unchanged. QGIS then has the information needed to position the point in the project canvas.

Reprojecting calculates new coordinate numbers in a target CRS. Use it after the source CRS is correct and you need a stored output in another system. QGIS’s Processing reference says that Assign projection keeps the geometries unchanged, while Reproject layer creates an output in a different CRS. Those tools solve different problems. Reprojecting a layer whose source CRS is wrong calculates from a false starting point and carries the error into the output.

Worked example: EPSG:4326 to EPSG:3857

Suppose the original CSV contains longitude=10 and latitude=50. Its documentation confirms decimal-degree WGS 84 coordinates, but it was imported as though the values were EPSG:3857 metres. That label tells QGIS to interpret the point as roughly 10 metres east and 50 metres north of the projection origin. The point appears nowhere near its intended position.

First, preserve the CSV and note the incorrect layer setting. Reimport it through Delimited Text, with longitude as X, latitude as Y and Geometry CRS set to EPSG:4326. Alternatively, assign EPSG:4326 to a separate copy of the point layer. In either case, the source coordinate pair is still (10, 50). Setting the project CRS to EPSG:3857 may change the canvas display, but it does not change those source values.

If another workflow requires a saved EPSG:3857 layer, run Reproject layer with the correctly identified EPSG:4326 layer as input and EPSG:3857 as target. For this illustrative point, the transformed coordinates are approximately (1,113,195 m, 6,446,276 m). Save the result under a new name, then inspect its CRS and one feature’s coordinates. Both layers should plot at the same geographic position in the project: one stores degrees, the other stores projected metres.

Validate a known point and leave a usable record

Choose one feature whose location can be established independently: a documented survey mark, a facility with a verified address or another identifiable point in the source material. Display it against a suitable basemap and zoom close enough to check the expected street or landmark. Check a second point if the dataset spans a wide area. A visual match supports the repair, but basemaps and source data can have their own positional limits; it does not replace the source documentation.

Finally, write down the original file name, its documented source EPSG code, the X and Y field mapping, the project CRS, and any target EPSG code used for a saved output. Note the known point used for validation and keep the unchanged input beside the repaired copy. That short record makes the result reproducible and prevents the next person from assigning a CRS to coordinates that have already been transformed.