Skip to main content

A vector data storage format for storing the location, shape, and attributes of geographic features. Often referred to as 'an ESRI shapefile', as ESRI developed it.

Each shapefile can describe a set of either points, lines or polygons, but not a mix of different types. A shapefile is actually a collection of related files with the same prefix but different file extensions.

Each shapefile can describe one or more features, which are individual units (points, lines or polygons) within it.

At a minimum each shapefile has three files:

  • .shp: the geometry, with descriptions of each feature;
  • .shx: the 'index file' for the geometry which points to the beginning of each feature within the .shp file;
  • .dbf: a database file (in dBase IV format) which has one row for each feature and fields describing characteristics of each.

Shapefiles may have any number of other files associated with them. For example, .prj files are often attached which contain information about the projection of the file, or .sbn and .sbx which are another kind of spatial index.

ESRI GIS Dictionary.: "... A shapefile is stored in a set of related files and contains one feature class."

Other component files follows:

  • .sbn: part 1 of spatial index for read-write instances of the Shapefile format.
  • .sbx: part 2 of spatial index for read-write instances of the Shapefile format.
  • .fbn: one of the files that store the spatial index of the features for instances of the Shapefile format that are read-only.
  • .fbx: the other file (besides .fbn) that stores the spatial index of the features.
  • .ain: one of the files that stores the attribute index of the active fields in a table or a theme's attribute table.
  • .aih: the other file (besides .ain) that stores the attribute index of the active fields.
  • .ixs: geocoding index for read/write shapefiles.
  • .prj: projections definition file; stores coordinate system information.
  • .xml: contains metadata, as used by ArcGIS.
  • .cpg: an optional file that can be used to specify the codepage for identifying the character set to be used.