Documentation

GeoFlow Docs

v2.0 ยท geoflow.studio

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

  1. Open the free converter
  2. Drop a file (GeoJSON, KML, WKT, or CSV with lat/lon columns)
  3. Choose an output format โ€” SQL INSERT is the default
  4. Set your table name and SQL engine
  5. Click Generate Output
  6. 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

FeatureFreePro Web ($5/mo)Desktop ($9/mo โ€” soon)
GeoJSON, KML, WKT, CSVโœ“โœ“โœ“
Shapefile (.zip) import/exportโ€”โœ“โœ“
Excel (.xlsx) import/exportโ€”โœ“โœ“
Features per run100UnlimitedUnlimited
Runs per day25UnlimitedUnlimited
Custom columns2 maxUnlimitedUnlimited
Geometry tools (repair, simplify)โ€”โœ“โœ“
Multi-file batch + ZIPโ€”โœ“โœ“
Full Leaflet spatial mapMini previewโœ“โœ“
File size limit~50MB~200MBUnlimited
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:

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:

โœฆ 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

FormatExtensionUse case
SQL INSERT.sqlLoad into a new table
SQL UPDATE.sqlUpdate rows by ID in an existing table
SQL Binary (hex).sqlInsert pre-compiled geometry binary โ€” fastest SQL Server load
GeoJSON.geojsonWeb mapping, API exchange, QGIS
WKT.wktDatabase geometry column text representation
CSV.csvSpreadsheet analysis, re-import
Shapefile.zipArcGIS, QGIS, GIS workflows โ€” Pro
Excel.xlsxSpreadsheet 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:

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:

  1. Create a free GeoFlow account (or log in)
  2. Click Log In โ†’ enter your key in the "Have a license key?" field
  3. 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.

ยฉ GeoFlow
HomePrivacyTermsContact