5 ways to create points at specific coordinates in QGIS
Working with QGIS? You should listen to our podcast!
How to manually create a point in QGIS at a given location
- Open QGIS: Launch the application and open your project.
- Select a layer: Ensure you have an active point layer, or create a new one by going to
Layer > Create Layer > New Shapefile Layerand choosing Point as the geometry type. - Toggle editing: Click the Toggle Editing button (pencil icon) in the toolbar, or right-click the layer in the Layers panel and select Toggle Editing.
- Add Point Feature tool: Click Add Point Feature in the Digitizing Toolbar.
- Input coordinates: Click on the map canvas where you want to place the point. For precise placement, use the Advanced Digitizing Panel to enter exact coordinates. If the panel is not visible, enable it from
View > Panels > Advanced Digitizing Panel. - Save edits: After placing the point, click the Save Edits button in the toolbar.
- Stop editing: Click Toggle Editing again to exit editing mode.
This method allows you to place points accurately within your QGIS project.
How to import points into QGIS using the paste method
- Prepare your text: Ensure your data is in WKT format or prepared as a list of coordinates in text form.
- Copy the text: Highlight the lines representing your geometric data and copy them (Ctrl+C).
- Open QGIS: Launch your QGIS application and open the project where you want to import the data.
- Paste features: In the QGIS menu bar, go to
Edit > Paste Features As… > New Vector Layer. - Set the coordinate system: Select the correct coordinate reference system (CRS) that matches your data.
- Create the layer: Follow the prompts to create the new vector layer containing the pasted features.
WKT (Well-Known Text) examples for points, lines, and polygons
- Point:
POINT (30 10)
This represents a point at longitude 30, latitude 10. - LineString:
LINESTRING (30 10, 10 30, 40 40)
This describes a line starting at (30, 10), passing through (10, 30), and ending at (40, 40). - Polygon:
POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))
This defines a polygon with vertices at (30, 10), (40, 40), (20, 40), and (10, 20), closing back at (30, 10).
These WKT examples can be copied and pasted into QGIS using the instructions above to create new vector layers containing those geometric shapes.
How to import a CSV file containing coordinates into QGIS
- Prepare your CSV file: Ensure the file has clearly labelled columns for latitude and longitude (or X and Y coordinates), along with any other attributes you want to include.
- Open QGIS: Start your QGIS application.
- Import the CSV file: Go to
Layer > Add Layer > Add Delimited Text Layer. This opens the Data Source Manager. - Browse for your CSV file: Click the … button to locate and select your file.
- Configure layer settings: Confirm the file format is set to CSV and specify which columns contain coordinates (for example, X field for longitude and Y field for latitude).
- Set the coordinate reference system: Choose the appropriate CRS for your data.
- Add the layer: Click Add. If everything is configured correctly, your points will appear on the map.
- Save the layer: Optionally, right-click the layer in the Layers panel, select Export, and choose Save Features As to save it in a GIS format such as SHP or GeoJSON.
This method will plot your CSV data as points on the QGIS map canvas.
How to create points using the Python Console in QGIS
- Open QGIS: Start your QGIS application.
- Open the Python Console: Go to
Plugins > Python Console. - Select the target layer: Make sure the layer where you want to add points is selected in the Layers panel.
- Access the layer and its data provider: In the Python Console, enter the following to reference the active layer and its data provider:
layer = iface.activeLayer()
provider = layer.dataProvider()
- Create new features: Define the coordinates for the new point, create a feature, and add it to the layer via the data provider:
# Define the coordinates for the new point
x = 30
y = 10
# Start editing
layer.startEditing()
# Create a new feature
feat = QgsFeature()
feat.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(x, y)))
# Add the feature to the layer
provider.addFeatures([feat])
# Update the layer extent to include the new feature
layer.updateExtents()
- Commit the changes: Save the edits to the layer by calling
commitChanges()on the layer object (not the data provider):
layer.commitChanges()
- Close the Python Console: Once you have finished adding points, you can close the Python Console.
This method lets you programmatically create points in your QGIS project using PyQGIS. Note that commitChanges() is called on the layer object, not the data provider — the data provider does not expose that method.
How to use the “Geometry by Expression” tool in QGIS to create point features
- Open QGIS: Start your QGIS application and open your project.
- Open the tool: Go to
Processing > Toolbox. In the search box, type Geometry by Expression and select the tool when it appears. - Configure the tool:
- Input layer: Select the input layer from which you want to generate new geometries, or use a temporary layer if starting from scratch.
- Output geometry type: Choose Point to create point geometries.
- Geometry expression: Enter the expression for generating new geometries. For example,
make_point($x + 10, $y + 10)creates points offset by 10 units in both X and Y from existing points. To create a point at specific coordinates, usemake_point(100, 200), which places a point at (100, 200).
- Execute: Click Run to execute the tool. A new layer will be generated containing the point geometries defined by your expression.
- Check and save: Review the newly created layer to confirm it meets your requirements. Save it to your project or export it as a new file if needed.
The Geometry by Expression tool enables dynamic and powerful manipulation of spatial data in QGIS, making it straightforward to automate the creation of point features at specific or derived locations.







