How to Convert GPS Points to a Shapefile in QGIS
You can convert GPS points to an ESRI Shapefile in QGIS by importing the source data, defining its geometry and coordinate reference system, checking the result, and exporting the point layer. The exact workflow depends on whether the source is a CSV table, GPX file, KML/KMZ file, or another format.
For a modern QGIS project, GeoPackage is usually the better working format. Shapefile remains useful when a client, course, agency, or older GIS application specifically requires it. This guide explains both options and shows how to avoid common errors such as swapped longitude and latitude, wrong CRS assignment, lost attributes, and incomplete Shapefile transfers.
Which GPS file do you have?
CSV or TXT
A CSV or TXT file usually contains one row per point and columns such as:
- Point ID
- Longitude or easting
- Latitude or northing
- Elevation
- Timestamp
- Name or description
- Accuracy or dilution-of-precision values
A table does not become spatial until QGIS is told which fields contain the X and Y coordinates and which CRS those coordinates use.
GPX
GPX is an XML format designed for GPS data exchange. It can contain different geometry types:
- Waypoints: points
- Routes: lines
- Tracks: multilines
- Route points and track points: point layers with supporting attributes
The GDAL GPX driver documents these separate GPX feature types and supports GPX versions 1.0 and 1.1 for reading. 1
A GPX file may therefore contain several layers. If you want GPS points, you may need to load the waypoints or track_points layer rather than the tracks line layer.
KML or KMZ
KML and KMZ files can contain points, lines, polygons, folders, styles, descriptions, and other Google Earth content. QGIS may load several sublayers or geometry types. Inspect the layers after import and select the point layer you actually need.
Other device formats
Some GPS devices export proprietary formats or require manufacturer software before producing GPX, CSV, or another GIS-readable file. Preserve the original file and note the export settings before conversion.
Before importing: check the coordinates
Open a copy of the CSV in a text editor or spreadsheet and inspect the first rows. Confirm the following:
- The file has a header row.
- The coordinate columns are identified.
- Longitude and latitude are not reversed.
- Decimal values use the correct decimal separator.
- Negative signs are preserved.
- The delimiter is really a comma, semicolon, tab, or another character.
- Empty rows and explanatory text are removed or accounted for.
- The source CRS is known.
- The coordinate values are plausible for the survey area.
- The file encoding can represent names and descriptions correctly.
For ordinary longitude/latitude data in decimal degrees:
- Longitude is the X coordinate.
- Latitude is the Y coordinate.
For example, a point in the eastern and southern hemispheres may look like:
longitude,latitude
153.0251,-27.4698
Do not enter latitude as X and longitude as Y. The layer may load without an error but appear in the wrong location.
Decimal degrees, degrees-minutes-seconds, and projected coordinates
GPS exports may use several coordinate formats.
Decimal degrees
Example:
153.0251,-27.4698
This is usually imported as X = longitude and Y = latitude with a geographic CRS such as WGS 84, if that is what the receiver used.
Degrees-minutes-seconds
Example:
153°01'30.36" E, 27°28'11.28" S
The signs and hemisphere letters matter. QGIS’s delimited-text importer supports point coordinates and can use a DMS option when coordinates are provided in degrees, minutes, and seconds. 2
If the file contains DMS text that QGIS cannot parse directly, convert it carefully to decimal degrees before import. For south and west coordinates, the decimal value is negative.
Projected eastings and northings
Some survey or field systems export projected coordinates rather than latitude and longitude. The values may look like:
easting,northing
500123.42,6945123.87
These are not WGS 84 longitude and latitude. You must identify the projected CRS from the device, survey specification, or data provider. Assigning EPSG:4326 to projected metre coordinates will place the points incorrectly.
Workflow A: Convert a CSV of GPS points to Shapefile
Step 1: Open the QGIS data-source manager
In QGIS, select Layer → Add Layer → Add Delimited Text Layer. In current QGIS versions, you can also open the Data Source Manager and select the Delimited Text tab.
QGIS documentation states that delimited files such as CSV, TXT, DAT, and WKT can be loaded as tables or converted into spatial layers when geometry fields are provided. 2
Step 2: Select the CSV file
Browse to the file and inspect the preview. Set the delimiter to match the file:
- Comma for standard CSV
- Semicolon for some regional spreadsheet exports
- Tab for tab-delimited files
- Custom delimiter where required
Confirm that the first record contains field names. If the file begins with notes or metadata lines, specify the number of header lines to discard.
Check the encoding if names or descriptions contain accented characters. QGIS can detect field types, but review the preview when numeric coordinates appear as text.
Step 3: Define the geometry
Under Geometry definition, choose Point coordinates. Set:
- X field: longitude or easting
- Y field: latitude or northing
- Z field: elevation, if the values are intended as geometry height
- M field: a measurement field, if required
- Geometry CRS: the CRS of the coordinates in the source file
For ordinary GPS longitude and latitude in WGS 84, the source CRS is often EPSG:4326, but do not assume this from the word “GPS.” Confirm the receiver’s export settings or metadata.
QGIS emphasizes that the geometry CRS must be provided for point coordinates and that selecting the wrong CRS places the layer in the wrong position. 2 3
Step 4: Add the point layer
Click Add. The CSV-backed point layer will appear in the Layers panel. It is initially a query over the text file rather than an independent GIS dataset.
Zoom to the layer and compare it with a trusted basemap or known reference. If the points appear on another continent, check X/Y order, the source CRS, decimal separators, signs, and whether the coordinate fields were read as numeric values.
Step 5: Save the layer as a Shapefile
Right-click the imported point layer and select Export → Save Features As.
Set:
- Format: ESRI Shapefile
- File name: a suitable output path ending in
.shp - CRS: retain the source CRS for a direct conversion, or choose a target CRS only when you intentionally want to reproject
- Encoding: UTF-8 where the receiving application supports it
- Selected features only: enable only if you intentionally filtered or selected points
- Add saved file to map: enable for immediate checking
QGIS documents that the Save Layer As dialog can change format, CRS, extent, selected fields, encoding, and geometry options. Choosing a different target CRS reprojects the exported data. 4
Click OK and then inspect the output layer.
Workflow B: Convert GPX waypoints to Shapefile
Step 1: Add the GPX file
Select Layer → Add Layer → Add Vector Layer and browse to the .gpx file. Depending on the file and QGIS version, QGIS may show available GPX sublayers.
Select waypoints when you want the saved point locations. If you load tracks, you will get line or multilinestring geometry rather than individual points. The GPX format can include routes, tracks, waypoints, route points, and track points as separate feature types. 1
Step 2: Review the GPX attributes
Typical GPX fields can include:
- Name
- Comment
- Description
- Time
- Elevation
- Symbol
- Type
- Track or route identifiers
Some devices store additional information in GPX extensions. The GDAL GPX driver can expose extension content as fields, but complex extension content may appear as XML text and may not transfer cleanly to a Shapefile. 1
Step 3: Check the CRS and geometry
Confirm the GPX layer’s CRS and geometry type. Standard GPX coordinates are commonly longitude and latitude, but the source data and device workflow should still be checked.
If the layer contains Z values, verify whether elevation is being kept as a geometry Z value or only as an attribute. A point Shapefile can have a Z-capable geometry, but the receiving application must support it correctly.
Step 4: Export the waypoint layer
Right-click the waypoints layer and select Export → Save Features As. Choose ESRI Shapefile, select the required CRS, choose the output path, and save.
If you want to preserve the full GPX structure, including tracks and routes, do not export only the waypoint layer. Save each required geometry layer separately or retain the original GPX file alongside the converted outputs.
Workflow C: Convert KML or KMZ points
- Add the KML or KMZ through Layer → Add Layer → Add Vector Layer.
- Inspect the available folders and geometry layers.
- Select the point layer.
- Review the CRS and attributes.
- Right-click the point layer.
- Select Export → Save Features As.
- Choose ESRI Shapefile or GeoPackage.
- Choose the output CRS intentionally.
- Check the exported attributes and geometry.
KML styling and folders may not map perfectly to Shapefile attributes. If the source contains descriptions or HTML-like fields, keep the original KML/KMZ for reference.
Why GeoPackage may be better than Shapefile
A Shapefile is not one file. QGIS documentation identifies the .shp, .dbf, and .shx files as required components. A .prj file can store projection information, but it is not mandatory, and projection details may be incomplete. 5
Shapefile also has legacy constraints around field names, field types, encoding, file organization, and geometry capabilities. It remains widely supported, but those limitations can cause data loss or ambiguity during conversion.
GeoPackage is an OGC-standard SQLite-based container. QGIS describes it as its default vector format and notes that it can store multiple vector layers, attributes, extensions, and even QGIS projects. 5
Use GeoPackage as the primary working copy when:
- You have several GPS point layers.
- You need long field names.
- You need consistent UTF-8 text handling.
- You want one file instead of several sidecar files.
- You want to preserve more metadata.
- You are working entirely in QGIS or another GeoPackage-compatible application.
Export a Shapefile as a compatibility copy when a recipient specifically requires it.
Shapefile files you must send together
If you do create a Shapefile, keep at least these files together with the same base name:
survey_points.shp
survey_points.shx
survey_points.dbf
survey_points.prj
The .prj file is especially important because it communicates the CRS. A Shapefile without its projection information may load as an unknown or incorrectly interpreted layer.
QGIS may also create a .qpj file with more complete CRS information and a .cpg file for character encoding. Keep all generated sidecar files when sharing the dataset.
Do not email only the .shp file.
CRS: assign or reproject?
Assigning the source CRS
Assign a CRS when the numeric coordinates are already in a known CRS but the file has missing or incorrect metadata. Assigning a CRS changes how QGIS interprets the values; it does not change the coordinate numbers.
Reprojecting the data
Reproject when you need a new dataset whose coordinates are stored in another CRS. Use Export → Save Features As and choose the target CRS, or use the appropriate processing tool.
For example, if the CSV stores GPS longitude and latitude in EPSG:4326 but your local analysis requires a projected CRS in metres, keep the original geographic layer and export a derived projected copy. Record the source CRS and target CRS.
QGIS supports on-the-fly transformation for displaying layers in a common project CRS, but display transformation does not permanently rewrite the source data. 3
Validate the converted points
A successful export does not prove that the points are correct. Validate the output before using it.
Check the map location
Compare the points with:
- A trusted basemap
- A known control point
- A field map
- A road, trail, or landmark visible in imagery
- The original GPS device or application
Check the attribute count
Compare the number of records in the source and output. If you selected only some rows, confirm that this was intentional.
Check coordinates and units
Use the Identify tool or layer attribute table. Confirm that longitude and latitude or easting and northing values are plausible. Check whether elevation is in metres or another unit.
Check timestamps
GPS timestamps may be stored in UTC, local time, or device-specific formats. Do not use a timestamp for temporal analysis until its timezone is known.
Check duplicate and invalid points
Repeated points may be legitimate repeated observations, or they may indicate a logging problem. Check for null coordinates, impossible values, duplicate IDs, and points outside the expected study area.
Check the exported CRS
Open Layer Properties → Information or Source and confirm the output CRS. If the Shapefile has a .prj file, verify that QGIS recognizes it correctly.
Common GPS conversion errors
Latitude and longitude are reversed
This is the most common CSV error. Longitude is X and latitude is Y. The output can still load successfully while appearing in the wrong place.
The wrong CRS is selected
A projected metre coordinate pair should not be assigned EPSG:4326. Conversely, decimal-degree coordinates should not be assigned a local projected CRS simply because the project uses metres.
Decimal commas are misread
In some regional settings, a comma is used as the decimal separator and a semicolon separates fields. If QGIS uses the wrong delimiter or decimal setting, coordinates may be split or interpreted as text.
Negative signs or hemisphere letters are lost
A missing negative sign can move a point from south to north or west to east. Check the original export and the parsed preview.
DMS is imported as text
Use the DMS option where available or convert to decimal degrees carefully. Do not treat degree, minute, and second values as decimal numbers without conversion.
The GPX track is exported as a point layer by mistake
GPX includes both point and line feature types. Select waypoints or track_points for points and tracks or routes for lines.
Attributes disappear or are shortened
Shapefile compatibility can restrict field names, data types, and encodings. Keep the GeoPackage or original CSV/GPX as the authoritative working copy.
The Shapefile will not open on another computer
Check that all sidecar files were copied together and that the path does not contain a broken reference. Zip the complete Shapefile set rather than sending one component.
Optional GDAL command-line conversion
For repeatable batch work, GDAL/OGR can convert supported GPS data formats. For example, a GPX file can be converted with:
ogr2ogr -f GPKG survey_points.gpkg survey.gpx waypoints
To create a Shapefile instead:
ogr2ogr -f "ESRI Shapefile" survey_points.shp survey.gpx waypoints
The exact command depends on the available GDAL drivers, the GPX layer name, the required target CRS, and whether you need to select or rename fields. Test the result in QGIS and preserve the original file.
For a CSV, use an appropriate OGR virtual or delimited-text workflow only after confirming the X and Y fields and source CRS. A command-line conversion should not be used to guess the CRS.
Recommended conversion structure
Use a simple folder structure:
project/
├── original/
│ ├── field_export.gpx
│ └── gps_points.csv
├── working/
│ └── gps_points.gpkg
├── deliverables/
│ ├── gps_points.shp
│ ├── gps_points.shx
│ ├── gps_points.dbf
│ ├── gps_points.prj
│ └── gps_points.cpg
└── qgis/
└── gps_conversion.qgz
Keep the original GPS file unchanged. Store the QGIS project and processing notes. Export a Shapefile only as a deliverable or interoperability copy.
Frequently asked questions
What CRS should GPS points use in QGIS?
Many GPS exports use WGS 84 longitude and latitude, commonly EPSG:4326, but this is not guaranteed. Confirm the device, correction service, export settings, or metadata. Survey-grade GNSS data may use another datum or reference frame.
Should longitude be X or Y?
Longitude is X. Latitude is Y when importing ordinary geographic coordinates into QGIS.
Can I convert a GPX track to a point Shapefile?
Yes, but choose the appropriate GPX sublayer. A tracks layer is a line or multilinestring. To create points representing the logged track vertices, use a track-points layer if available or generate points from the line using a QGIS processing tool.
Can QGIS convert CSV to Shapefile?
Yes. Add the CSV as a delimited-text point layer, choose the X and Y fields and source CRS, validate the layer, then use Export → Save Features As and choose ESRI Shapefile.
Why do my GPS points appear in the wrong country?
The usual causes are reversed X/Y fields, wrong source CRS, lost negative signs, incorrect decimal separators, or projected coordinates being interpreted as latitude and longitude.
Do I need to reproject GPS data before creating a Shapefile?
No. You can export in the source CRS. Reproject only when the target application, analysis, or project specification requires another CRS.
Is GeoPackage better than Shapefile?
For most new QGIS work, yes. GeoPackage can store multiple layers in one file and avoids many Shapefile limitations. Shapefile remains useful for compatibility with older software or a specific delivery requirement.
Why is my .shp file not enough?
A Shapefile dataset is made of several sidecar files. Keep at least the .shp, .shx, .dbf, and .prj files together, plus any .cpg or .qpj files generated by QGIS.
Will elevation be preserved?
It may be preserved as an attribute or as a Z coordinate, depending on the source and export settings. Verify the geometry type and inspect the elevation field after conversion.
Can I convert GPS points online?
Online converters may be convenient, but uploading field locations can create privacy, security, or data-licensing concerns. QGIS performs the conversion locally and gives you more control over CRS, fields, and validation.
Conclusion
Converting GPS points to a Shapefile in QGIS is a four-part process: import the source correctly, define the geometry and CRS, validate the points, and export the layer in the required format.
For CSV data, set longitude as X and latitude as Y only when those fields really contain geographic coordinates. For GPX, select the correct waypoint or track-point layer. Confirm the source CRS before assigning or reprojecting anything. Keep all Shapefile sidecar files together, and use GeoPackage as the primary working format when the recipient does not require Shapefile.
A technically correct conversion preserves not only the point locations, but also the coordinate reference, attributes, timestamps, elevation information, and provenance needed to use the data confidently.
References
[2] QGIS User Guide: Opening data and importing delimited text
[3] QGIS User Guide: Working with projections