# GISela Shapefile to GeoJSON > Turn a zipped shapefile (.shp, .dbf, .prj) into GeoJSON in WGS 84 or another coordinate system. Reads a zipped ESRI shapefile with GISela’s own parser — points, lines, polygons with holes, multipoints, Z/M records flattened to 2-D — with its attribute table (dBASE, code page from .cpg or the header) and the coordinate system from the .prj file, and writes GeoJSON. Several shapefiles in one ZIP give several files. Part of usefulweb.site (https://usefulweb.site/). Part of [GISela](https://gisela.usefulweb.site/) (ownerApp: gisela). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://giselashapefiletogeojson.usefulweb.site/ (interactive tool at https://giselashapefiletogeojson.usefulweb.site/tool) - JSON API: POST https://giselashapefiletogeojson.usefulweb.site/api/v1/calculate with a JSON object of inputs (schema: https://giselashapefiletogeojson.usefulweb.site/api/v1/tool) - OpenAPI: https://giselashapefiletogeojson.usefulweb.site/openapi.json - MCP (Streamable HTTP): https://giselashapefiletogeojson.usefulweb.site/mcp - tool `gisela_shapefile_to_geojson` ## Inputs - file (file): Shapefile (ZIP) - A ZIP with at least the .shp file; .dbf (attributes), .prj (coordinate system) and .cpg (text encoding) are read when present. - from (text): Coordinate system of the shapefile - “auto” = from the .prj file. Without a .prj the coordinates are read as WGS 84 unless you give an EPSG code. - to (select): Write GeoJSON in - RFC 7946 GeoJSON is WGS 84; other systems are written with the older “crs” member. ## Method - The ZIP is unpacked in memory (stored and DEFLATE entries). Files with the same base name form one shapefile. - .shp records are read after the ESRI technical description: Point, MultiPoint, PolyLine and Polygon with their Z and M variants (Z and M are dropped). Polygon rings are sorted into outer rings (clockwise) and holes (counter-clockwise) and nested by point-in-polygon tests. - .dbf: dBASE III field types C, N/F, L and D; text decoded with the .cpg code page, else the header’s language driver id, else UTF-8 when it decodes cleanly, else Windows-1252. - .prj: EPSG AUTHORITY codes first, then well-known ESRI names (UTM, ETRS89, Gauss–Krüger, LV95, British National Grid, Web Mercator), then Transverse Mercator parameters. ## Limits - MultiPatch (3-D surfaces) and coordinate systems outside GISela’s list are not supported; such files are reported, not guessed.