GeoFlow Docs
Overview
GeoFlow converts geographic data (GeoJSON, KML, WKT, Shapefile, Excel, CSV) into clean SQL INSERT/UPDATE statements, GeoJSON, WKT, CSV, Shapefile, or Excel โ entirely in your browser. No data leaves your machine.
The tool is built for SQL engineers and GIS analysts who need to load spatial data into databases like SQL Server, PostgreSQL, MySQL, or SQLite without setting up complex toolchains.
Quick start
- Open the free converter
- Drop a file (GeoJSON, KML, WKT, or CSV with lat/lon columns)
- Choose an output format โ SQL INSERT is the default
- Set your table name and SQL engine
- Click Generate Output
- Copy to clipboard or download as a file
๐ก The free tier processes up to 100 features per run, 25 runs/day. Your data never leaves your browser.
Tiers & limits
| Feature | Free | Pro Web ($5/mo) | Desktop ($9/mo โ soon) |
|---|---|---|---|
| GeoJSON, KML, WKT, CSV | โ | โ | โ |
| Shapefile (.zip) import/export | โ | โ | โ |
| Excel (.xlsx) import/export | โ | โ | โ |
| Features per run | 100 | Unlimited | Unlimited |
| Runs per day | 25 | Unlimited | Unlimited |
| Custom columns | 2 max | Unlimited | Unlimited |
| Geometry tools (repair, simplify) | โ | โ | โ |
| Multi-file batch + ZIP | โ | โ | โ |
| Full Leaflet spatial map | Mini preview | โ | โ |
| File size limit | ~50MB | ~200MB | Unlimited |
| Advanced geometry repair | โ | โ | โ (Shapely) |
| Offline use | โ | โ | โ |
Input formats
GeoJSON (.geojson, .json)
Supports Feature, FeatureCollection, Point, LineString, Polygon, MultiPolygon, MultiPoint, and MultiLineString. All feature properties are extracted as columns.
KML (.kml)
Parses all Placemark elements. Extracts name, description, and coordinates. Supports Point, LineString, and Polygon geometries.
WKT (.wkt)
One WKT geometry string per line. No properties โ useful for loading a list of geometries directly. Supports POINT, LINESTRING, POLYGON, MULTIPOLYGON.
CSV (.csv)
Requires at least one latitude column and one longitude column. GeoFlow auto-detects common column names:
- Latitude:
lat,latitude,y - Longitude:
lon,lng,long,longitude,x
All other columns are treated as properties. Each row becomes a POINT geometry.
Shapefile (.zip) โ Pro
Bundle your shapefile components into a single .zip file containing at minimum:
.shpโ geometry data.dbfโ attribute table.prjโ coordinate reference system (recommended)
โฆ Shapefile import and export requires a Pro subscription.
Excel (.xlsx) โ Pro
GeoFlow reads the first sheet of the workbook. Requires latitude and longitude columns (same auto-detection as CSV). All other columns are treated as feature properties.
โฆ Excel import and export requires a Pro subscription.
Output formats
| Format | Extension | Use case |
|---|---|---|
| SQL INSERT | .sql | Load into a new table |
| SQL UPDATE | .sql | Update rows by ID in an existing table |
| SQL Binary (hex) | .sql | Insert pre-compiled geometry binary โ fastest SQL Server load |
| GeoJSON | .geojson | Web mapping, API exchange, QGIS |
| WKT | .wkt | Database geometry column text representation |
| CSV | .csv | Spreadsheet analysis, re-import |
| Shapefile | .zip | ArcGIS, QGIS, GIS workflows โ Pro |
| Excel | .xlsx | Spreadsheet review, non-GIS teams โ Pro |
SQL INSERT
Generates a CREATE TABLE statement followed by an INSERT INTO for each feature. Includes all selected file columns, any custom columns, the raw WKT string, and the compiled spatial type column.
CREATE TABLE [dbo].[Counties] (
[Name] NVARCHAR(255),
[FIPS] NVARCHAR(255),
[WKT] NVARCHAR(MAX),
[POLYGON_BIN] GEOGRAPHY
);
INSERT INTO [dbo].[Counties] (Name, FIPS, WKT, POLYGON_BIN)
VALUES (
'Dane County', '55025',
'POLYGON((-89.837 43.194, ...))',
geography::STGeomFromText('POLYGON((-89.837 43.194, ...))', 4326)
);
SQL UPDATE
Generates an UPDATE ... SET ... WHERE ID=N statement per feature. Update row IDs are sequential starting from 1. Edit the WHERE clause to match your primary key.
SQL Binary (hex)
Outputs geometry as pre-compiled binary hex via STGeomFromWKB. Slightly faster to load than text WKT at scale, and more compact in the script file. Use when loading thousands of features into production.
geography vs geometry
โ This is the most common source of confusion with SQL Server spatial data.
GEOGRAPHY โ uses lat/lon (Y, X order). Supports the SSMS Spatial Results map viewer. Required if your queries use distance/area functions that need to respect Earth's curvature. GeoFlow automatically reverses coordinate order (lon/lat โ lat/lon) when you select geography.
GEOMETRY โ uses lon/lat (X, Y order). Faster for 2D planar calculations. Required if your existing table was loaded as geometry.
When in doubt: use geography. If your data appears to render in the wrong place in SSMS, switch to geometry.
Geometry tools โ Pro
Fix winding order
Reverses coordinate ring direction. SQL Server GEOGRAPHY requires counter-clockwise exterior rings. If your geometries are valid WKT but fail to insert with STGeomFromText, this is usually the fix.
Remove duplicate vertices
Strips consecutive identical coordinate pairs from rings. Reduces output size and prevents geometry validity errors in strict SQL engines.
Force MultiPolygon
Wraps all POLYGON geometries in a MULTIPOLYGON wrapper. Use this when your table schema expects MULTIPOLYGON but your source data is mixed Polygon/MultiPolygon. Ensures consistent schema across all rows.
Simplify
Reduces vertex count using the Douglas-Peucker algorithm via Turf.js. The tolerance slider controls how aggressively vertices are removed. Lower tolerance = closer to original shape but more vertices. Higher tolerance = fewer vertices, slightly less accurate. Useful for:
- Reducing output file size for large county/state boundaries
- Speeding up rendering in web maps
- Staying under database NVARCHAR(MAX) practical limits
Batch processing โ Pro
Convert multiple files at once. Click Add multiple files, select 2 or more supported files, then click Convert All โ ZIP Download. Each file is converted independently using the current SQL settings and bundled into a single ZIP download.
Spatial map โ Pro
After generating output, Pro users see a toggle between Code view and Map view. The map uses Leaflet.js with a CartoDB dark basemap. Click Map in the output topbar to switch. Features are rendered as GeoJSON overlays. Useful for visually verifying geometry before importing into a database.
FAQ
My SQL Server geography insert fails with an error
Most common cause: incorrect winding order. Enable Fix winding order in Pro Geometry Tools and regenerate. If the error persists, check that your coordinates are valid WGS84 (longitude -180 to 180, latitude -90 to 90).
My shapes appear mirrored or in the wrong place in SSMS
Switch from geography to geometry (or vice versa) โ coordinate order is different between the two types. Also ensure you're using SRID 4326.
Large files are slow
Files over ~100MB will be slow in the browser due to JavaScript memory limits. The Desktop app handles unlimited file sizes natively. If you're on Pro Web, try enabling Simplify to reduce vertex count before converting large boundary files.
My CSV doesn't produce any geometries
Make sure your latitude and longitude columns are named with one of the supported names: lat/latitude/y and lon/lng/long/longitude/x. Column names are case-insensitive.
Limits explained
100 features/run (free): When you load a file with more than 100 features, GeoFlow processes all of them but only outputs the first 100. A banner shows "X of Y features โ upgrade to convert all."
25 runs/day (free): Tracked in browser localStorage, resets at midnight local time. Clearing browser data resets the counter. Upgrading to Pro removes all run limits.
2 custom columns (free): You can add up to 2 user-defined columns with custom names and default values. Pro removes this limit entirely.
License keys
After subscribing to Pro or Desktop, a license key in the format GF-XXXX-XXXX-XXXX-XXXX is emailed to your registered address. To activate:
- Create a free GeoFlow account (or log in)
- Click Log In โ enter your key in the "Have a license key?" field
- Click Activate โ Pro features unlock immediately
Keys activate on up to 2 devices. If you need to transfer a key to a new device, email support@geoflow.studio.
Dev/comp licenses are available for testing โ reach out to support.