# Slicelytics > Slicelytics is a browser app for exploring, charting and comparing JSON, NDJSON/JSONL, CSV and TOON datasets. Data never leaves the browser: a link carries the dataset in its #fragment, which browsers don't send to servers. Opening data requires a signed-in subscriber; links survive login and checkout. An agent opens data in Slicelytics by building a link, as described below. The recipient sees one of three pages: `explore` (a filterable tree), `visualize` (charts) or `compare` (the diff of two datasets). ## Link format ``` https://slicelytics.com/data/?view=#v=1&data=&format=&name= ``` - `data`: the file's text, gzipped, then base64url-encoded (`-` and `_`, no `=` padding). - `format`: `json` (the default), `ndjson`, `csv` or `toon`. - `name` is optional. - For Compare, add `&compare=&compareFormat=&compareName=`. - Every value after `#` is URL-encoded, like a query string. - `?view=` is optional. Python: ```python import base64, gzip, json, urllib.parse enc = lambda text: base64.urlsafe_b64encode(gzip.compress(text.encode())).decode().rstrip("=") view = {"v": 1, "view": "visualize", "props": ["p95_ms"], "x": "day", "chart": "line"} url = ("https://slicelytics.com/data/visualize?view=" + urllib.parse.quote(json.dumps(view)) + "#" + urllib.parse.urlencode({"v": 1, "data": enc(open("runs.csv").read()), "format": "csv"})) ``` ## Size limits - Keep a link you show to a person to about 8,000 characters. - Keep a link passed to another program (`open`, `xdg-open`) under 900,000 characters. The OS limits one argument to 1 MiB. - Chrome caps URLs at 2 MB. - gzip typically makes JSON or CSV 5–10× smaller; base64 adds a third back. ## ViewSpec A ViewSpec is JSON describing the whole view. Fields left out are reset to their defaults. - `v`: always `1`. - `view`: `explore`, `compare` or `visualize`. - `props`: fields to show, dot-separated for nested fields (`a.b`). Omitted: all fields. - `filters`: `{ "field": "value" }`. Keeps only items whose field equals the value, compared as strings. Several filters are ANDed. - `x`: Visualize only; the field that labels the x-axis. Omitted: the item index. - `chart`: Visualize only; chart type for every shown field. One of `bar`, `line`, `pie`, `radar`, `bubble`, `doughnut`, `polarArea`, `scatter`. - `series`: Visualize only; per field, `{ "chart": , "metric": }`. - `density` counts items per distinct value of any field, drawn as one bar per value. The field must be in `props` (or `props` omitted), and don't set `x` with it. - For arrays of numbers: `sum`, `mean`, `median`, `mode`, `min`, `max`, `range`, `stdDev`, `variance`. - `size` gives the length of strings and arrays. Visualize plots one point per item, in file order, and Compare matches items by position. If the data isn't ordered that way, tell the user and ask before reordering it. Don't change the data or analyse it unless the user asks. ## Pages - [Slicelytics](https://slicelytics.com/): what Slicelytics is, pricing, and FAQ. - [Explore](https://slicelytics.com/tools/explore): filter JSON, NDJSON, CSV and TOON by item, property or value; watch a folder for new files. - [Compare](https://slicelytics.com/tools/compare): structural diff of two datasets, side by side. - [Visualize](https://slicelytics.com/tools/visualize): charts and statistical metrics, including ISO 8601 dates. - [AI agents](https://slicelytics.com/tools/ai-agents): how agents open data with a link or a watched folder, for people choosing a route. - [Link format reference](https://slicelytics.com/tools/ai-agents/link-format): this file's link format and ViewSpec, as a web page. - [Compare benchmark runs](https://slicelytics.com/use-cases/compare-benchmark-runs): diffing two benchmark, eval or experiment runs, and keeping their items in the same order. - [View JSONL logs](https://slicelytics.com/use-cases/view-jsonl-logs): opening large or compressed JSONL/NDJSON logs and filtering them by value. - [Plot a CSV privately](https://slicelytics.com/use-cases/plot-csv-without-uploading): charting CSV, JSON or NDJSON without uploading the file. - [Review large PR diffs](https://slicelytics.com/use-cases/review-large-pr-diffs): comparing two versions of a snapshot, mock or fixture that GitHub won't render, with `git show` and a Compare link. - [Agent skill](https://github.com/duryno/Slicelytics-public): the Slicelytics skill (SKILL.md and slicelytics_link.py) to install in agents that support skills, and a Claude Code plugin (`/plugin marketplace add duryno/Slicelytics-public`, then `/plugin install slicelytics@slicelytics`); issues and feedback. - [Changelog](https://slicelytics.com/changelog): new features and fixes, with dates.