NaviParse
Detect and extract geographic coordinates from any web page, then open them instantly in the map service of your choice.
What Is NaviParse?
NaviParse is a browser extension for Chromium-based browsers that automatically finds geographic coordinates embedded anywhere in a web page. Whether coordinates are structured inside JSON-LD metadata, declared in HTML meta tags, tucked inside embedded JavaScript objects, encoded in map link parameters, or written in plain text — NaviParse scans the page and collects every match into a clean, clickable list.
Clicking any result opens the location directly in the map service you prefer: Google Maps, OpenStreetMap, Bing, Waze, Apple Maps, and many more. You can also add your own map service using a simple URL template.
NaviParse runs entirely within your browser. No coordinates, page content, or personal data are sent to any external server.
Quick Start
- Load the extension in developer mode (see Installation).
- Open any web page that may contain geographic data.
- Click the NaviParse icon in the browser toolbar to open the popup.
- Review detected coordinates in the list, then click one to open it in your preferred map service.
Context menu shortcut: Select coordinate text on any page, right-click, and choose NaviParse It! to parse and open the location directly — without opening the popup first.
How It Works
-
Scan — When you open the popup or use the context menu action, a content script runs against the active page. It applies every enabled geo service — both built-in and any custom parsers you have added.
-
Normalise — Each matched value is parsed and converted to a standard decimal latitude/longitude pair, regardless of the original format (Decimal, DDM, DMS, or compass notation).
-
Filter — Results are evaluated for confidence. Likely false positives are removed or flagged according to the validation mode you have configured. Exact duplicates can optionally be merged into a single row.
-
Present — The popup lists all discovered coordinates with source labels and optional confidence badges. Results can be exported as CSV or JSON.
-
Launch — Clicking a coordinate opens it in your configured map service.
Features
- Extracts coordinates from JSON-LD structured data, HTML meta tags, embedded JSON objects, map link parameters, and plain text
- Supports five coordinate formats: Decimal Degrees, Degrees Decimal Minutes (DDM), Degrees Minutes Seconds (DMS), compass-prefix, and compass-suffix
- One-click map launch with a configurable default provider
- Built-in catalog of 23 map services spanning global and regional providers
- Custom map service support using a URL template with
{lat},{lon}, and optional{z}placeholders - Custom geo parser creation in guided Basic mode (no regex required) or regex-based Advanced mode
- Import and export for both custom map services and custom geo services
- Confidence scoring with high, medium, and low quality indicators
- Suspicious-result filtering to reduce false positives
- Duplicate result merging with full source attribution
- Right-click context menu action: NaviParse It!
- One-click export of popup results in CSV or JSON format
- All processing is local — no data leaves your browser
Supported Coordinate Formats
NaviParse recognises coordinates in the following five formats and converts each to decimal degrees before displaying or passing them to a map service:
- Decimal Degrees (DD)
-
The most common digital format. Latitude and longitude expressed as signed decimal
numbers, with negative values indicating south and west respectively.
Example:48.8566, 2.3522 - Degrees Decimal Minutes (DDM)
-
Degrees as a whole number, followed by decimal minutes. Hemisphere is indicated
by a compass letter (N, S, E, W).
Example:48° 51.396'N, 2° 21.132'E - Degrees Minutes Seconds (DMS)
-
The traditional sexagesimal notation used on printed maps, surveying documents,
and many government records. Hemisphere is indicated by a compass letter.
Example:48°51′20″N, 2°21′08″E - Compass Prefix
-
The hemisphere designator appears before the numeric value.
Example:N48.8566, E2.3522 - Compass Suffix
-
The hemisphere designator appears after the numeric value.
Example:48.8566N, 2.3522E
Data Sources
NaviParse scans each page using a built-in library of geo services, each targeting a specific location where coordinates may be embedded. You can extend this library with your own custom geo services through Options.
- JSON-LD Structured Data
-
Reads
<script type="application/ld+json">blocks and searches for Schema.org types that carry geographic properties. Covered types includePlace,LocalBusiness,Event,TouristAttraction,RealEstateListing, andGeoCoordinates. This source is particularly reliable because structured data is intended for machine consumption and tends to be precise. - Meta Tags
-
Reads a range of HTML
<meta>tag standards commonly used to declare a page's geographic location, including Open Graph (og:latitude/og:longitude), thegeo.positionformat, ICBM metadata, Dublin Core Coverage, Schema.org itemprop attributes, and event or place location properties. - Embedded JSON
- Searches inline JavaScript objects and JSON blocks within the page source for property names associated with geographic data, such as those used in mapping APIs or embedded location widgets.
- Plain-Text Regex Scan
- Scans visible page text and raw source for coordinate patterns in all supported formats. An HTML scan cap limits the volume of source text processed to keep performance predictable on very large pages.
Built-in Map Services
NaviParse includes 23 map providers out of the box. The default is Google Maps. You can change your preferred service at any time in Options, and you can add any number of additional providers using a custom URL template.
- Amap
- Apple Maps
- ArcGIS Online
- Baidu Maps
- Bing Maps
- DuckDuckGo Maps
- Google Maps default
- Here WeGo
- Kakao Map Korea
- MapQuest
- Mapillary
- Mappls
- Naver Map Korea
- OpenCycleMap
- OpenRailwayMap
- OpenSeaMap
- OpenStreetMap
- OpenTopoMap
- TomTom Maps
- Waze
- what3words
- Windy
- Yandex Maps
Using NaviParse
The Popup
- Navigate to any web page that may contain geographic data.
- Click the NaviParse icon in the browser toolbar.
- The popup scans the page and displays a list of all detected coordinates. Each result shows the coordinate values and, depending on your settings, a source badge and a confidence indicator.
- Click any result to open that coordinate in your preferred map service.
- Use the Export Results button to save all displayed coordinates to a file in your chosen format (CSV or JSON).
Context Menu — NaviParse It!
The context menu action lets you parse a specific piece of coordinate text without opening the popup at all:
- Select coordinate text on any page. Decimal, DDM, and DMS formats are all recognised.
- Right-click the selection.
- Choose NaviParse It! from the context menu.
- The parsed coordinate opens directly in your preferred map service.
Options & Settings
Open the Options page by clicking Options in the top-right corner of the popup. All settings are saved in browser storage and persist across sessions.
Map Preferences
Controls which map service NaviParse opens and how it filters and presents coordinate results.
- Preferred Map Service
-
Selects the map website that opens when you click a coordinate result in the popup or use NaviParse It!. Choose from the 23 built-in providers or from any custom map services you have added.
Default: Google Maps.
- Map Zoom Level
-
Sets the zoom level passed to map services whose URL template includes the
{z}placeholder. Accepted range: 1 – 22. Default: 15.As a reference guide for typical zoom levels:
- 1 — World view
- 5 — Country or large region
- 10 — City or metropolitan area
- 15 — Neighbourhood (default)
- 18 — Street level
- 22 — Individual building detail
Not all map services use this value. It is only applied to providers whose URL template contains
{z}. - Coordinate Validation Mode
-
Controls how aggressively NaviParse filters out results that may be false positives before displaying them in the popup. Two modes are available:
- Balanced (recommended) — Keeps more coordinate candidates. Best for general use when you want to see everything the page might contain. Suitable for most pages and use cases.
- Strict — Applies additional filtering rules to remove likely false positives. In particular, it discards coordinate pairs with very small numeric values close to the geographic origin (0°N, 0°E in the Gulf of Guinea), which are unlikely to represent real-world locations and are often the result of uninitialised numeric fields in a page's code. Choose this setting when pages produce a large number of irrelevant results.
- Default Result Export Type
-
Determines the file format used by the Export Results button in the popup. A single click exports the displayed results in this format without any additional prompt.
- CSV — Comma-separated values. Opens directly in spreadsheet tools such as Microsoft Excel, LibreOffice Calc, or Google Sheets.
- JSON — JavaScript Object Notation. Useful for developers or any workflow that processes the results programmatically.
- Show source badges in popup
-
When enabled, a small label appears beside each result in the popup identifying which geo service found it — for example, JSON-LD, Meta Tags, or the name of a custom geo service. Useful for understanding where specific coordinates originate on a given page.
When disabled, the source labels are hidden for a cleaner display.
- Show confidence and suspicious badges in popup
-
When enabled, each result shows a quality indicator alongside its coordinates:
- High confidence — Extracted from a reliable, structured source.
- Medium confidence — Plausible but from a less definitive source.
- Low confidence — Extracted but exhibits properties that suggest it may not be a real location.
- Suspicious candidate — Flagged for likely being a false positive; shown only when the debug setting below is also enabled.
When this setting is disabled, all quality badges are hidden. The confidence score, flag reasons, the Copy debug button, and the Export suspicious report action are also hidden. Disabling this produces a simpler popup for everyday use.
- Show duplicate coordinate results
-
Controls how NaviParse handles identical coordinate pairs discovered by more than one data source on the same page.
- Disabled (default) — Exact duplicate lat/lon pairs are merged into a single row. The row lists all sources that found the same coordinate, so you can see how many times it appeared and where.
- Enabled — Each source produces its own separate row in the popup, even when the underlying coordinates are identical.
- Show suspicious filtered candidates (debug)
-
When enabled, coordinates that were removed by the confidence filter still appear in the popup, marked with a Suspicious candidate badge. Additional debug information — including a numeric confidence score and a list of the reasons it was flagged — is shown inline for each suspicious result.
This setting is intended for troubleshooting false negatives and fine-tuning custom geo services. It is not recommended for regular use.
Custom Map Service
Add any map website that accepts coordinates through its URL. Custom services appear alongside the built-in providers in the Preferred Map Service dropdown and can be used immediately after saving.
- Service Name
- A short display label for the map service — for example, My Work Map or Survey Portal. This name appears in the Preferred Map Service dropdown and as the link title when you hover over a coordinate in the popup.
- Map URL Template
-
The full URL of the map website, with placeholder tokens that NaviParse replaces with the actual coordinate values at the moment a result is clicked:
{lat}— Required. Replaced with the decimal latitude value.{lon}— Required. Replaced with the decimal longitude value.{z}— Optional. Replaced with your configured Map Zoom Level.
Both
{lat}and{lon}must be present in the URL. The template is validated when you click Add Custom Map, and an error is shown if either required placeholder is missing or the URL is otherwise malformed.Example:
https://my-map.example/?x={lon}&y={lat}&zoom={z}
Saved Custom Maps
Displays all custom map services you have added. From this section you can manage your full collection:
- Export — Download your custom maps as a JSON file, suitable for backup or transferring to another browser or device.
- Import — Load custom maps from a previously exported JSON file. The import process skips duplicate entries and entries that fail validation, and displays a summary of what was imported, what was skipped, and why.
- Delete — Remove an individual custom map service.
Custom Geo Service
Create your own coordinate extractor to handle pages that use a structure not covered by the built-in geo services. Custom geo services run alongside the built-in ones every time NaviParse scans a page.
Two authoring modes are available. Select the one that suits your needs — both produce the same type of geo service.
Basic Mode
A guided form that builds the parser from structured inputs. No knowledge of regular expressions is required. Basic mode is suitable for most common page structures.
- Plugin Name
- A display label for your custom parser — for example, My Site Extractor. This name is shown in the source badge on any coordinates found by this parser.
- Template
-
Describes the structure that the target page uses to store coordinates. Select the template type that matches your source:
-
meta — A
<meta>tag whosecontentattribute holds a coordinate value. Enter the tag'snameorpropertyattribute value as the key.
Example:<meta name="latitude" content="48.8566"> -
query — A URL query string parameter. Enter the parameter
name as the key.
Example:?lat=48.8566&lng=2.3522 -
attr — An HTML element attribute that holds a coordinate
value. Enter the attribute name as the key.
Example:<div data-latitude="48.8566"> -
json — A JSON property inside a script block or inline
JSON object. Enter the property name as the key.
Example:"latitude": 48.8566 -
pair — A bare coordinate pair in plain text. No key fields
are required for this type. NaviParse uses the separator and order settings
below to split the values.
Example:48.8566, 2.3522
-
meta — A
- Latitude Key
-
The name of the field, attribute, or parameter that holds the latitude value.
This corresponds to the template type selected above.
Examples:latitude,lat,data-lat.
Not required when using the pair template. - Longitude Key
-
The name of the field, attribute, or parameter that holds the longitude value.
Examples:longitude,lng,data-lon.
Not required when using the pair template. - Coordinate Order
-
Specifies which value appears first when coordinates are stored as a pair in a single field. This setting is particularly relevant for the pair and json templates.
-
Lat/Lon — Latitude appears first, then longitude.
Most common in human-readable data and many web services.
Example:
48.8566, 2.3522 -
Lon/Lat — Longitude appears first, then latitude.
Common in GeoJSON specifications and many spatial APIs and mapping SDKs.
Example:
[2.3522, 48.8566]
-
Lat/Lon — Latitude appears first, then longitude.
Most common in human-readable data and many web services.
Example:
- Decimal Separator
-
Specifies how decimal numbers are written in the target data.
-
Period (dot) — Decimal numbers use a full stop:
48.8566. Standard in English-language and most international data sources. -
Comma — Decimal numbers use a comma:
48,8566. Used in some European and regional data sources where a comma serves as the decimal mark rather than a thousands separator.
-
Period (dot) — Decimal numbers use a full stop:
- Field Separator
-
Specifies the character that separates two coordinate values when they appear together in a single field or string — for example, in a pair template or in a meta tag that stores both values together.
- Auto (default) — NaviParse detects the separator automatically. Use this unless auto-detection produces incorrect results for your target page.
-
Comma — Values are separated by a comma:
48.8566, 2.3522 -
Semicolon — Values are separated by a semicolon:
48.8566; 2.3522 -
Space — Values are separated by a space:
48.8566 2.3522
- Sample Text
-
Paste a snippet of source text from your target page to test the parser before saving it. NaviParse attempts to extract coordinates from the sample in real time and shows a preview of the result directly below the field.
If the preview shows the expected latitude and longitude values, the parser configuration is correct and ready to save. If the preview shows no match or incorrect values, adjust the template type, keys, separator, or order settings and check the sample again.
Use the Test button to trigger a manual preview check if the live preview does not update automatically.
Advanced Mode
Accepts custom regular expressions for full control over coordinate extraction. This mode is intended for developers who are comfortable writing regular expressions and need to handle source structures that Basic mode cannot describe.
Keep regex patterns focused and bounded. Overly broad patterns can increase extraction time and may produce false positives. All patterns are validated for safety before they are saved.
- Latitude Regex
-
A regular expression with exactly one capture group — written as
(...)— that isolates the latitude value from the page source. The captured text must be a numeric decimal value.Example:
latitude=([0-9.-]+)In this example, the pattern matches text such as
latitude=48.8566and captures48.8566as the latitude. - Longitude Regex
-
A regular expression with exactly one capture group that isolates the longitude value. The same rules and constraints apply as for Latitude Regex.
Example:
longitude=([0-9.-]+)
Saved Custom Geo Services
Displays all custom geo services you have created. From this section you can:
- Export — Download your custom geo services as a JSON file for backup or transfer.
- Import — Load custom geo services from a previously exported JSON file. Validation includes duplicate checks, schema version compatibility, and safety screening of regular expression patterns. A detailed import summary is shown after processing.
- Delete — Remove an individual custom geo service.
Browser Compatibility
NaviParse targets Chromium-based browsers with Manifest V3 support. The extension has been developed and tested against the following browsers:
- Google Chrome
- Microsoft Edge
- Brave
- Other Chromium-based browsers (best effort)
Extension storage automatically falls back between sync and local storage depending on what the browser makes available, so preferences are preserved across profiles where sync is supported.
Firefox and Safari are not supported. The extension uses Manifest V3 APIs that are not fully compatible with those browsers at this time.
Permissions
NaviParse requests four browser permissions. Each is used only for the specific purpose described below.
activeTab- Allows NaviParse to read the content of the currently active browser tab. Access is granted only when you explicitly interact with the extension — by opening the popup or using the NaviParse It! context menu action — and is limited to the single active tab at that moment. NaviParse does not read tabs you are not actively using.
scripting- Enables NaviParse to inject the content script responsible for scanning and extracting coordinates into the current page. This script runs on demand and only when triggered by you.
storage- Allows NaviParse to save your preferences, custom map services, and custom geo services in browser storage. All saved data remains on your device and is not transmitted anywhere.
contextMenus- Adds the NaviParse It! option to the browser right-click context menu when you have text selected on a page. Without this permission, the context menu action would not be available.
Installation
NaviParse is installed in developer mode. No build step or compilation is required — the extension files are loaded directly.
- Download or clone the NaviParse files to a folder on your computer.
-
Open your browser's extension management page. In the address bar, navigate to:
- Chrome:
chrome://extensions - Edge:
edge://extensions - Brave:
brave://extensions
- Chrome:
- Enable Developer mode using the toggle in the top-right corner of the extensions page.
- Click Load unpacked.
- Select the folder that contains the NaviParse files.
- The NaviParse icon appears in the browser toolbar. If it is not visible, click the puzzle-piece extensions icon and pin NaviParse to the toolbar.
Browsers may display a warning that developer mode extensions are active. This is standard browser behaviour for extensions loaded outside of an official extension store and does not indicate a problem.
Troubleshooting
- The popup shows a timeout message
- The content script did not respond in time. Refresh the page and open the popup again. This can happen on pages that take a long time to fully initialise their scripts or structured data.
- No results appear
- Verify that the page actually contains geographic coordinates in a supported format. Not all pages include location data. If you believe the page does contain coordinates, try switching to a less strict validation mode in Options, or enable the debug setting to see whether any suspicious candidates were filtered out.
- A custom import fails
- Ensure the file is valid JSON and was exported by NaviParse's own export function. The file must match the expected import type: a file exported from Custom Map Services cannot be imported into Custom Geo Services, and vice versa. Check that the file has not been manually edited in a way that changed its structure.
- A custom map URL does not open correctly
-
Verify that the URL template contains both the
{lat}and{lon}placeholders and that the base URL is correctly formatted and publicly accessible. Check your browser's address bar after the link opens to see whether the coordinate values were substituted as expected. - NaviParse cannot scan a page
-
Browser-internal pages — such as
chrome://settings,chrome://extensions, the new tab page, and some PDF viewers — do not permit content script execution. This is a browser security restriction that cannot be overridden. NaviParse works on standard web pages accessed over HTTP or HTTPS.