How to open a shapefile without ArcGIS

You can open a shapefile without ArcGIS in three ways. Install QGIS, which is free and open source, and drag the .shp file onto the map. Use ogrinfo from GDAL on the command line to list the layer, fields and coordinate system. Or drop the .shp, .shx and .dbf files into FileReshape's shapefile viewer, which shows the map and attribute table in your browser without uploading anything.

First, check that you have all the parts

A shapefile is not one file but a set of files with the same name. The .shp file holds the shapes, the .shx file is the index that links each shape to its row, and the .dbf file holds the attribute table. Those three are required. The .prj file describes the coordinate system, and the .cpg file names the text encoding of the attribute table. Both are optional but strongly recommended.

The most common reason a shapefile "will not open" is that only the .shp file was sent or copied. If someone emailed you a single .shp, ask for the whole folder, ideally as a .zip. Extra files such as .sbn, .sbx, .qix or .shp.xml are spatial indexes and metadata; no program needs them to open the data.

Keep the format's limits in mind when you look at the data. Field names in the .dbf can be at most 10 characters long, which explains abbreviated columns such as DESCRIPTIO. Each shapefile holds only one geometry type, so points, lines and polygons always come in separate shapefiles. And the .shp and .dbf files are each limited to 2 GB.

Open a shapefile in QGIS

QGIS is a free and open source desktop GIS for Windows, macOS and Linux. It is the best choice when you need more than a quick look: editing shapes or attributes, styling, joining tables, measuring, or printing a map. On Linux it is usually available from the distribution's package manager, which also makes it the standard answer to "which shapefile viewer works on Linux".

If QGIS asks for a coordinate system, the .prj file is missing. Choose the right one in the layer properties, or the layer will end up in the wrong place on the map.

  1. Install QGIS from qgis.org or your package manager and start a new project.
  2. Drag the .shp file from your file manager onto the map window, or use Layer > Add Layer > Add Vector Layer and pick the .shp file.
  3. Right-click the layer and choose Open Attribute Table to see the fields and values.
  4. Right-click the layer and choose Properties to check the coordinate system, encoding and field types.

Inspect a shapefile on the command line with ogrinfo

GDAL is the open source library behind QGIS and many other tools, and it comes with the command-line programs ogrinfo and ogr2ogr. On Linux you can usually install them with a package called gdal-bin or gdal; on Windows and macOS they come with QGIS or can be installed separately. The command line is the right tool for servers, scripts and batch jobs over many files.

The -so option prints a summary instead of every feature: the geometry type, the number of features, the extent, the coordinate system and the list of fields with their types. Leave it out to print every feature with its attributes. To turn the shapefile into another format, use ogr2ogr, for example to GeoJSON, which any text editor and many web tools can read.

# Summary: geometry type, feature count, extent, CRS and fields
ogrinfo -so -al roads.shp

# Convert to GeoJSON in WGS84
ogr2ogr -f GeoJSON -t_srs EPSG:4326 roads.geojson roads.shp

Open a shapefile in your browser with FileReshape

If you only want to see what is in a shapefile, the FileReshape shapefile viewer needs no installation and works on Windows, Mac, Linux, Chromebooks and tablets. It runs in your browser with GDAL compiled for the web, so the files are read from your own disk and are not uploaded. That makes it a safe choice when you are looking for a web viewer to upload a shapefile to but the data is confidential.

You can drop a .zip with the shapefile, or select the .shp, .shx, .dbf and .prj files together. In a .zip the viewer finds the parts on its own, even in a subfolder, and several shapefiles in one .zip are drawn on the same map with a list to switch between their attribute tables. Each column header shows the field name and the type GDAL reads, such as String, Integer, Real or Date. Click a row to zoom to that feature, or click a feature on the map to find its row.

Without a .prj file the viewer assumes WGS84 when the coordinates look like longitude and latitude, and otherwise asks you for the EPSG code. Without a .cpg file it reads valid UTF-8 as UTF-8 and other text with the code page in the .dbf header, or Windows-1252 when there is none.

  1. Open the shapefile viewer and drop a .zip, or select the .shp, .shx, .dbf and .prj files at once.
  2. Look at the features on the map and scroll through the attribute table below it.
  3. Optionally click Download as GeoJSON to save a copy of all features in WGS84.

Which option should you use?

Use the browser viewer for a quick look at a file someone sent you, on a computer where you cannot or do not want to install software. It is read-only, so it cannot damage the files, but it also cannot edit them. To stay responsive it draws up to 20,000 features per layer and lists the first 1,000 rows in the table, although the counts and the GeoJSON download cover every feature. It is limited by your browser's memory.

Use QGIS when you need to edit, style, analyse or print, or when the file is very large. Use ogrinfo and ogr2ogr when you want to check or convert many files in a script, or work on a server without a desktop. All three read the same files, so you can start in the browser and move to QGIS later.

Frequently asked questions

Can I open just the .shp file?

Not usefully. The .shp file holds only the shapes. Without the .dbf there are no attributes, and without the .shx most programs refuse the file. Ask for all files with the same name, or a .zip of the folder.

Is there a shapefile viewer for Linux?

Yes. QGIS runs on Linux and is in most distributions' package repositories, and ogrinfo from GDAL prints a summary on the command line. FileReshape's viewer also works in any modern browser on Linux.

Is my shapefile uploaded when I use the online viewer?

No. FileReshape reads the files in your browser and draws the map there. Only the background map tiles are loaded from the web; your data is not sent anywhere.

Why are the field names cut off?

The .dbf attribute table allows field names of at most 10 characters, so long names are shortened when a shapefile is written. The full names cannot be recovered from the shapefile itself.

Can I edit a shapefile without ArcGIS?

Yes, with QGIS. Start editing with the pencil icon on the layer, change shapes or attribute values, and save. The FileReshape viewer is read-only.