Fix Shapefile Not Aligning with Basemap in BlenderGIS (2026)
You imported a shapefile into BlenderGIS and it landed kilometers away from your basemap — or sits at a strange offset while everything else lines up. Before you nudge it by hand (do not), understand this: misaligned shapefiles are a coordinate reference system (CRS) problem, not a position problem. The fix is getting the CRS right at import, not moving the mesh afterward.
Here is the core concept most people get wrong: a shapefile’s coordinates are meaningless without knowing which CRS they are expressed in. The same pair of numbers can mean downtown Paris in one CRS and the middle of the Atlantic in another. If BlenderGIS interprets your shapefile in the wrong CRS, no amount of manual dragging will fix the underlying error.
Changing the scene CRS does not reproject your mesh
This is the single most important thing to understand. When you change the scene CRS in BlenderGIS, you are only changing the origin point — the geographic anchor Blender uses to convert real-world coordinates into Blender’s local units. It does not reproject geometry that is already in the scene.
What that means in practice: if your shapefile imported in the wrong CRS and is sitting offset from the basemap, switching the scene CRS afterward will move the origin — and your already-wrong mesh along with it — without fixing the actual mismatch. The geometry keeps its wrong interpretation; it just gets re-anchored.
So the correct mental model is: scene CRS = where the origin goes; input CRS = how the incoming coordinates are interpreted. Alignment is decided by the second one, at import time.
The correct import workflow
To make a shapefile land exactly on your basemap:
- Find out the shapefile’s native CRS first. Check the accompanying .prj file, or open the shapefile in QGIS and read the layer CRS from its properties. Common ones: EPSG:4326 (WGS84 lat/lon), EPSG:3857 (Web Mercator), or a local projected CRS like a UTM zone or a national grid.
- Note your scene’s CRS. BlenderGIS scenes typically work in a projected CRS suitable for the area, while basemaps are served in Web Mercator (EPSG:3857). Know both.
- Specify the input CRS at import time. When importing the shapefile, tell BlenderGIS (or your conversion step) which CRS the source data is actually in. This is where the reprojection happens — the addon converts the coordinates into the scene CRS correctly, and the mesh lands on the basemap.
- Verify with a known feature. After import, check one unmistakable feature — a road intersection, a coastline, a building corner — against the basemap. If it lines up, everything lines up. If it is offset by a consistent large distance, the input CRS was wrong: delete the import and redo it with the correct one.
If you regularly move data between QGIS and Blender, the QGIS to Blender workflow covers keeping CRS consistent across the handoff, including reprojecting in QGIS before export as an alternative to specifying CRS at import.
The Web Mercator vs. local CRS trap
The most frequent real-world mismatch: Web Mercator basemaps mixed with local projected data.
- BlenderGIS basemaps are served in Web Mercator (EPSG:3857). That is how the tiles arrive.
- Your shapefile may be in a local CRS — a UTM zone, a state plane system, or a national grid tuned for accuracy in one region.
- If you import local-CRS coordinates as if they were Web Mercator (or vice versa), the mesh lands in the wrong place. Near the equator the error can look small; at higher latitudes Web Mercator distortion makes the offset dramatic and the shape itself may look stretched.
Another subtle variant: importing a shapefile that is already in EPSG:4326 (latitude/longitude degrees) while the importer expects meters. Degree values are tiny numbers (like 48.85, 2.35) — interpreted as meters, your entire dataset collapses into a speck near the origin. If your import looks like a dot, check for a degrees-vs-meters unit mismatch. Related scale symptoms are covered in imported mesh wrong scale.
The rule: never guess the input CRS. Read the .prj, check QGIS layer properties, or ask the data provider. One minute of checking beats an hour of misaligned re-imports.
Frequently asked questions
Why doesn’t changing the scene CRS fix my misaligned shapefile?
The scene CRS only sets the geographic origin for coordinate conversion; it does not reproject geometry already in the scene. The misalignment happened at import time, when the coordinates were interpreted in the wrong CRS. You need to re-import with the correct input CRS specified.
How do I find my shapefile’s CRS?
Check the .prj file that came with the shapefile, or open it in QGIS and look at the layer properties. If there is no .prj file, contact the data provider — guessing the CRS is the most common cause of misalignment.
What CRS are BlenderGIS basemaps in?
Basemap tiles are served in Web Mercator (EPSG:3857). Your shapefile data is often in a different CRS, which is exactly why specifying the correct input CRS at import matters.
My shapefile imported as a tiny dot near the origin. What happened?
Your data is probably in degrees (EPSG:4326 latitude/longitude) but was interpreted as meters. Degree values like 48.85 are tiny in meter units, so the whole dataset collapses near the origin. Re-import with EPSG:4326 as the input CRS.
Should I reproject in QGIS first or at import?
Either works. Reprojecting to your scene CRS in QGIS before export is the most foolproof route. Specifying the input CRS at import is faster and avoids duplicating files. Pick one and be consistent.
Can I just move the mesh by hand to align it?
Do not. Manual alignment hides the CRS error instead of fixing it, and the mesh will be wrong in scale and orientation too — especially at higher latitudes where Web Mercator distortion is significant. Fix the CRS and re-import.
