A powerful, privacy-first web application that transforms spreadsheet point data (Excel/CSV) into Google Earth KML files. Built specifically for geologists, GIS professionals, and field engineers to easily reproject coordinates, organize data into folders, and apply custom symbology — entirely within the browser.
🔒 No data ever leaves your computer.
- 100% Client-Side — Runs entirely in your browser. Your sensitive coordinate and geological data is never uploaded to any external server.
- Universal File Support — Drag-and-drop
.xlsx,.xls, or.csvfiles. - Massive CRS Support — Reproject from any EPSG coordinate system to WGS84 (KML standard). Includes pre-loaded definitions for UTM, State Plane, National Grids (OSGB, Lambert-93, etc.), and automatic fetching for custom codes via epsg.io.
- Per-Point EPSG — Handle messy datasets where every row has a different coordinate reference system.
- Folder & Sub-folder Hierarchy — Map columns to KML Folders and Sub-folders to keep your Google Earth "Places" panel perfectly organized.
- Per-Category Symbology — Automatically assign distinct colors to different categories (e.g., Well Status, Lithology, Field Names) based on a selected column.
- Smart Map Preview — Instantly visualize reprojected points on an interactive Leaflet map. Uses density-based zoom to automatically focus on the tightest cluster of points (perfect for wellpad fields).
- Rich Google Earth Popups — KML placemarks include beautifully formatted, color-coded HTML tables showing all row attributes.
- Author Signature — Every generated KML is professionally signed with
atom:authormetadata and embedded documentation crediting the creator.
-
Open the App — Open
index.htmlin any modern web browser. For the best experience with map tiles, serve it locally (e.g., using the VS Code Live Server extension orpython -m http.server). -
Upload Your File (Step 1) — Drag and drop your Excel or CSV file onto the drop zone.
-
Configure Coordinates (Step 2)
- Select your X (Easting/Longitude) and Y (Northing/Latitude) columns.
- Choose your Input EPSG Code from the searchable grid, or type a custom code.
- (Optional) Select a Per-point EPSG Column if your CRS varies per row.
-
Set Display Options (Step 3)
- Choose a Name Column (visible next to the icon in Google Earth).
- Select a Symbology Column for color-coding.
- Select Folder and Sub-folder columns for hierarchical grouping.
-
Preview & Convert (Steps 4 & 5) — Review your data, then click Convert to KML.
-
Download (Step 6) — View the interactive map preview and click Download KML File. Open the downloaded file directly in Google Earth Pro.
While the app can fetch any EPSG definition on the fly, the following are pre-loaded for instant conversion without an internet connection:
| Category | Details |
|---|---|
| Geographic | WGS84 (4326), NAD83, NAD27, ETRS89, OSGB36, GDA94, JGD2000, CGCS2000, and more |
| UTM | All 60 North zones (32601–32660), All 60 South zones (32701–32760), ETRS89 UTM zones |
| 🇬🇧 British National Grid | OSGB |
| 🇫🇷 France | Lambert-93 & NTF Paris (grad) |
| 🇳🇱 Netherlands | RD New |
| 🇩🇪 Germany | Gauss-Krüger Zones 2–5 |
| 🇮🇹 Italy | Monte Mario |
| 🇨🇭 Switzerland | CH1903+ / LV03 |
| 🇦🇹 Austria | M31 / M34 |
| 🇵🇱 Poland | EPSG 2000 Zones |
| 🇮🇪 Ireland | ITM & Irish Grid |
| 🇧🇪 Belgium | Lambert 72 |
| 🇨🇿 Czech Republic | S-JTSK Krovak |
| 🇺🇸 US State Plane | Washington, California, Texas, Florida, New York, Massachusetts, North Carolina, Colorado, Illinois (NAD83 ft & m) |
| Regional | SIRGAS (South America), SAD69, Aramco Lambert, KSA Arabia, New Zealand TM, Australian MGA Zones |
This is a zero-build, single-file web application leveraging powerful open-source libraries:
| Library | Purpose |
|---|---|
| Tailwind CSS | UI & Styling |
| SheetJS (XLSX) | Excel Parsing |
| PapaParse | CSV Parsing |
| Proj4js | Coordinate Reprojection |
| Leaflet + CARTO Voyager Tiles | Map Preview |
| Space Grotesk + Font Awesome | Fonts & Icons |
Ismail Harkat
Wellsite & Operations Geologist
📧 geoharkat@gmail.com
If you find this tool useful in your geological or GIS workflow, feel free to reach out!