SmartQueryTools

Parse URL Column in JSON Files Online

Parse URL columns in JSON files and extract host, path, query string, and fragment into separate columns — directly in your browser, no upload required.

How to parse URL Column in JSON files

  1. Drop your file onto the upload area. The tool picks the first text column whose name contains url, link, href or uri as the URL column.
  2. Check the URL column. Only text columns are listed.
  3. Choose which parts to extract: Host, Path, Query and Fragment. Host and Path are selected by default.
  4. Optionally type an Output column prefix. By default new columns are named after the URL column, such as landing_url_host.
  5. Click Parse URLs, check the preview, then download the file with the new columns added at the end.

Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.

Worked example

A marketing analyst has a sessions export with full landing page URLs and wants to report by site and page, and see which campaign tags were used.

Input (JSON)

[
  {
    "session_id": "s-8841",
    "landing_url": "https://www.example.com/pricing?utm_source=newsletter&utm_campaign=spring",
    "pageviews": 4
  },
  {
    "session_id": "s-8842",
    "landing_url": "https://blog.example.com/2026/05/launch-notes?ref=twitter",
    "pageviews": 1
  },
  {
    "session_id": "s-8843",
    "landing_url": "https://www.example.com/signup?ref=partner-17",
    "pageviews": 6
  },
  {
    "session_id": "s-8844",
    "landing_url": "https://shop.example.co.uk/cart?step=2",
    "pageviews": 3
  }
]

Settings

  • URL column: landing_url
  • Extract parts: Host, Path, Query
  • Output column prefix: (blank, uses landing_url_)

Result

session_idlanding_urlpageviewslanding_url_hostlanding_url_pathlanding_url_query
s-8841https://www.example.com/pricing?utm_source=newsletter&utm_campaign=spring4www.example.com/pricingutm_source=newsletter&utm_campaign=spring
s-8842https://blog.example.com/2026/05/launch-notes?ref=twitter1blog.example.com/2026/05/launch-notesref=twitter
s-8843https://www.example.com/signup?ref=partner-176www.example.com/signupref=partner-17
s-8844https://shop.example.co.uk/cart?step=23shop.example.co.uk/cartstep=2

The original columns are kept and one column per selected part is appended, named with the prefix plus the part. The host keeps subdomains, so www.example.com and blog.example.com stay separate. The query is returned as one string. Individual parameters such as utm_campaign are not split into their own columns, so use Split Column on & and then on = if you need them.

Working with JSON files

JSON escapes forward slashes in some exports, so a URL may appear in the file as https:\/\/www.example.com\/pricing. The JSON reader decodes those escapes on load, and the parser sees a normal URL. A key that holds a URL string in some objects and null in others still loads as text. If some objects hold a number or an object under that key instead, the column loads with a mixed JSON type and is not offered. Objects missing the key get NULL in every extracted column.

URLs nested inside an object, such as page.url, are not offered because the column picker works on top-level keys. Flatten the JSON or use Extract JSON Column so the URL becomes a top-level field first. In the output array each object gains new keys named after the prefix and the part, such as landing_url_host. Existing keys and nested values are written back unchanged. Where an object had no URL, the new keys are written as null.

Frequently Asked Questions

Can I parse a URL stored inside a nested JSON object?

Not directly. Flatten the file or extract the nested field into its own column, then choose it as the URL column.

Are escaped slashes in JSON URLs a problem?

No. Sequences like \/ are decoded by the JSON reader before parsing, so the URL is read normally.

Which URL parts can the tool extract?

Host, path, query string and fragment. It does not split out the scheme, port or individual query parameters. Use Split Column or Regex Extract on the query column for single parameters such as utm_source.

How are the new columns named?

Prefix plus part name, for example landing_url_host. The default prefix is the URL column name followed by an underscore. Characters other than letters, digits and underscores in a custom prefix are replaced with underscores.

Is the original URL column changed?

No. The original column stays as it was, and the extracted parts are appended as new columns at the end.

Related Tools