A focused Windows desktop app for inspecting, organizing, converting, and delivering ESRI Shapefiles.
English · 简体中文
Note
Version 0.5.0 introduces a safe batch workbench that takes a group of Shapefiles from inspection to an auditable delivery package without modifying the source datasets.
Opening a large GIS application is unnecessary when the immediate task is simply to answer questions such as:
- Which Shapefiles are in this folder?
- Are the SHP, SHX, DBF, PRJ, and CPG components complete?
- What are the geometry type, feature count, fields, CRS, encoding, and extent?
- Do multiple DBF tables use the same field definitions?
- Can these datasets be renamed, organized, converted, and packaged without damaging the originals?
Shapefile Toolkit is designed for these focused, repeatable jobs. It is especially useful for GIS students, coursework delivery, data handoff, and quick dataset inspection on Windows.
- Import multiple
.shpfiles or recursively scan a folder. - Check mandatory and recommended sidecar files.
- Read geometry type, feature count, field count, dataset size, bounds, CRS, and DBF encoding.
- Preview geometry on an interactive canvas and inspect the attribute table.
- Filter healthy, warning, and error datasets in the health dashboard.
- Export a three-sheet Excel health report.
The workbench follows a clear four-step flow:
- Select and filter datasets.
- Choose a tool and configure its options.
- Select a separate output directory.
- Preview every action, conflict, and warning before execution.
Available tools:
| Tool | What it does |
|---|---|
| Organize datasets | Copies the complete Shapefile component set and renames every sidecar consistently |
| Delivery ZIP | Creates a portable ZIP with data, manifests, logs, Excel inventory, and an optional health report |
| Compare DBF schemas | Compares field presence, type, width, and decimal precision across datasets |
| Convert selected data | Exports selected datasets to GeoJSON or CSV |
| Merge compatible data | Merges compatible geographic datasets into GeoJSON and records feature provenance |
The workbench also provides search, status filters, multi-selection, prefix/suffix renaming, find-and-replace, per-dataset folders, three conflict policies, reusable presets, progress reporting, safe cancellation, and direct access to the output folder.
The application treats the source dataset as read-only.
- The output directory must be separate from every source directory.
- The main process rereads the actual SHP header and PRJ instead of trusting UI metadata.
- Every source component receives a SHA-256 snapshot before execution and is checked again before commit.
- Outputs are created in a staging directory and validated before being moved into the final location.
- Existing files are never silently overwritten: choose automatic numbering, skip, or stop.
- Generated GeoJSON is reread and its feature count is verified.
- Delivery ZIPs are written as streams and then checked entry by entry for exact names, sizes, and CRC32 values.
- Cancellation and failures remove uncommitted temporary outputs.
manifest.jsonand.operation.jsonrecord inputs, outputs, checksums, warnings, and verification status.
All processing is local. The application does not upload GIS data to a server.
- Open the latest release.
- Download
Shapefile-Toolkit-v*-win-x64.zip. - Extract the complete ZIP to a folder.
- Double-click
Shapefile Toolkit.exe.
No installation, Node.js, or PowerShell is required. The extracted ZIP build is recommended because it starts faster than a self-extracting portable executable.
Important
Keep all files from the downloaded ZIP together. Inside a GIS dataset, a usable Shapefile normally requires matching .shp, .shx, and .dbf files. Keeping .prj and .cpg is strongly recommended.
- CSV export preserves source coordinate values.
- GeoJSON export requires a known geographic coordinate system.
- Projected coordinates are never written directly as GeoJSON coordinates.
- Shapefile Toolkit does not currently perform reliable reprojection to WGS84.
- Copying a reference PRJ only defines the CRS of an output copy; it does not transform coordinates.
- Writing a CPG only declares the DBF encoding; it does not transcode text.
These boundaries are intentional: the tool reports what it can verify and does not present metadata edits as spatial transformations.
- No Shapefile write-back or reconstruction.
- No production-grade reprojection, GeoPackage output, or MakeValid geometry repair.
- No streaming parser for very large SHP/DBF feature data; large layers may consume substantial memory.
- Built-in Turf.js operations are lightweight in-memory utilities, not replacements for a full GIS analysis engine.
- The Windows build is not commercially code-signed, so SmartScreen may display a warning on first launch.
Requirements: Node.js 18 or later on Windows.
npm install
npm test
npm startBuild the recommended Windows ZIP:
npm run buildAdditional build targets:
npm run build:dir
npm run build:portableThe test suite covers core Shapefile reading, DBF schema handling, conflict policies, source preservation, cancellation cleanup, GeoJSON safeguards, streaming ZIP verification, and batch IPC plan integrity.
- Electron 28
- Node.js
- shapefile
- Turf.js
- ExcelJS
- JSZip
- zip-stream
- csv-stringify
- Recursive file and folder import
- Shapefile component and metadata inspection
- Geometry preview and attribute table
- Health dashboard and Excel health report
- Multi-dataset batch workbench and action preview
- Complete sidecar copy, safe renaming, and conflict handling
- Delivery ZIP, manifests, logs, inventory, and output verification
- DBF schema comparison, including common Chinese encodings
- Selected GeoJSON/CSV conversion and compatible GeoJSON merge
- Distributable optional GIS runtime
- Reliable reprojection, GeoPackage output, and geometry repair
- Shapefile merge, split, and field-writing tools
- Streaming support for very large datasets
- English and Chinese application UI
See CHANGELOG.md for version history.
Bug reports, practical GIS workflow ideas, and pull requests are welcome. Please open an Issue with a reproducible example whenever possible.
Shapefile Toolkit is released under the MIT License.
