Privacy and analytics
Your files are never uploaded
Reading your files, comparing them and building the download all happen inside your browser. Cell values, column names and file names are never sent to a server.
Usage analytics
To improve the tool, we measure which features are used with PostHog. Only the items below, plus the details listed under the table, are sent. Counts and sizes are sent as ranges such as “up to 100 rows”, never as exact values.
| When | What is sent |
|---|---|
| Every event | The tool in use (compare, find duplicates and so on) |
| Page view | Page URL, referrer, UTM parameters, language |
| File added | Slot (A or B), how it was added (file, paste or sample), format (xlsx, xls, ods, csv and so on), size range, text encoding, number of sheets |
| Text encoding changed | Slot, the encoding before and after the change |
| Header confirmed | Slot, how the header was chosen, number of header rows, number of columns, row-count range, a hash of the column set, whether this column set was seen before |
| Comparison run | How files were compared (key, row order or whole workbook), range of sheets compared, whether formulas were compared, number of key columns, which key matching options were on and whether they were turned on in the settings or from a warning, number of compared columns, range of the number of columns found in only one file, share of columns matched automatically, count range per result type, kinds of key warnings, duration range |
| Duplicate check run | Whether every column was compared, number of checked columns, ignored differences, row-count range, ranges of duplicate groups and rows, range of rows with empty checked columns, duration range |
| Lookup run | Number of key columns, number of added columns, ignored differences, row-count range, ranges of rows found, not found and found several times, duration range |
| List comparison run | Ignored differences, row-count range of each list, ranges of values in both and in only one, duration range |
| Totals comparison run | Number of grouping columns, number of totaled columns, ignored differences, ranges of groups and of changed or one-sided groups, duration range |
| Merge run | Ranges of file count, total rows and columns, whether all headers matched, duration range |
| Split run | Ranges of parts and rows, whether there were too many parts, duration range |
| CSV conversion run | Source format, target (xlsx or csv), encoding, whether some characters could not be converted, row-count range |
| Cleanup run | Which fixes were used (remove spaces, standardize dates and so on), ranges of the number of files and target columns, range of rows, ranges of changed cells, unreadable cells and removed rows, duration range |
| Check run | Which check, which kinds of problems were found (leading spaces, repeats and so on), which kinds of settings were chosen (count method, number type, rule types), ranges of columns and rows, range of problems found, duration range |
| Format conversion run | Target format (JSON, SQL, fixed width and so on), which kinds of settings were chosen (SQL dialect, how widths are counted and the encoding, which fields were matched to columns), row range, ranges of skipped rows and cut values, duration range |
| Conversion to xlsx run | Formats of the original files (xls, ods, Numbers and so on), file count range, duration range |
| Workbook check run | Which check (health check, external links, hidden items and so on), which kinds of items were found (hidden sheets, external links, formula errors and so on), file count range, file size range, range of items found, duration range |
| Workbook saved | Which workbook was saved (slimmed, links broken, unhidden, personal data removed, formulas as values, images as zip, contents sheet, split by sheet, pictures inserted), file count range, duration range |
| Picture insertion run | Kind of original file (Excel, another workbook, CSV and so on), picture size, picture count range, ranges of rows given a picture and rows without one, duration range |
| Reshape or summary run | Kind of operation (unpivot, transpose, crosstab, group totals, unique values, frequency table, ABC analysis), kinds of settings chosen (how values are totalled, totals and so on), column count range, row count range, result row count range, duration range |
| Table turned into a PDF or image | Format (PDF or PNG), paper and orientation, text size, how the table was fitted to the width, row count range, page count range, whether rows were left out, whether some characters could not be drawn, duration range |
| QR codes or barcodes created | Code type (QR, EAN, Code 128 and so on), image size, output (zip or Excel), whether a column was chosen for file names, created and failed count ranges, duration range |
| Address labels made | Label sheet, ranges of line and column counts in the label text, whether a column was printed larger, whether an honorific was used, text size, whether used labels were skipped, label and page count ranges, whether text was shrunk, whether some characters could not be drawn, duration range |
| Mail merge run | Output (one file or one file per row), whether your own template or the built-in one was used, field count range, whether some field names matched no column, whether headers or footers had fields, whether a column was used for file names, document count range, duration range |
| Date list made | Filter (every day, business days, days off or holidays), whether Japanese holidays were used, whether holidays were pasted, range of days in the period, range of dates listed, whether the period was cut short, duration range |
| Dummy data made | Language of the name and place data, the kinds of columns chosen (name, address, phone and so on), row count range, whether the seed was changed, duration range |
| Viewer opened | Ranges of sheet, row and column counts, whether there were hidden sheets, rows or columns, formulas or merged cells, duration range |
| Tool changed | The tool before and after, where you switched (related tools or result), and how many switches came before it in this visit |
| Tool request | What you wrote under “Can't find the tool you need?” on a tools page (up to 200 characters), and the category shown |
| Option used | Which option was used (matching repeated keys in order, comparing formulas, showing numeric differences) |
| Result used | The first thing you did with the result (tab, column filter, search, scroll, sort, showing numeric differences, side-by-side view, column choice or copy) |
| Download | Format (xlsx/csv), content (result list, marked tables, table without duplicates and so on), scope (all or only the rows shown), CSV separator and encoding |
| Survey answer | Question, chosen answer, and what you typed under “Something else” (up to 200 characters) |
| Error | Error type, step, size range |
PostHog also attaches the following to every event: browser and OS, device type, screen and window size, browser language, time zone, the browser's user-agent string, and the anonymous ID below plus a session ID. The first page view also carries the page title.
Column set hash
To learn whether files with the same layout are compared repeatedly, we send a hash (the first 16 hex digits of SHA-256) computed from the set of column names. The names themselves are never sent, and no hash is sent when there are fewer than three distinct names or no header row. Whether a layout was seen before is decided in your browser, which keeps a hash of each column name for that purpose.
What your browser stores
An anonymous ID for counting return visits, the column-name hashes above, and whether the survey was already shown. The anonymous ID and the hashes are deleted and started afresh 13 months after they were first stored; return visits do not extend this. No cookies are used. Comparison settings and file contents are never stored.
Turning analytics off
You can turn analytics off for this browser. This deletes the anonymous ID and the column-name hashes from this browser, and nothing is sent from then on. The survey and the “Can't find the tool you need?” box are no longer shown either. Only a marker remembering your choice is stored, so clearing this site's data in your browser also clears the choice.
Purpose and legal basis
We measure usage to improve the tools. Under the EU and UK General Data Protection Regulation (GDPR), the legal basis is our legitimate interest (Article 6(1)(f)). You can stop the measurement at any time with “Turn analytics off” above.
Recipients
Analytics data is sent to PostHog Cloud, run by PostHog Inc. (United States), and stored on servers in Frankfurt, Germany. It is kept for one year; after that it no longer appears in our analysis, but it may remain on PostHog's servers until PostHog deletes it. PostHog Inc. has certified to the U.S. Department of Commerce that it adheres to the principles of the EU-U.S. Data Privacy Framework (DPF) and its UK Extension. The data travels through Cloudflare, Inc. (United States), which serves this site and removes the IP address and cookies on the way, so your IP address never reaches PostHog. Cloudflare handles IP addresses in order to deliver the pages.
Your rights
If you live in the EU or the UK, you have the right to access, correct and delete your data, and to object to its processing. Analytics data is linked only to an anonymous ID, so we cannot tell whose data it is. What this browser stores is deleted when you use “Turn analytics off” above or clear this site's data in your browser. Data sent before then stays with the recipients. You can also lodge a complaint with the data protection authority in your country.
Operator and contact
This site is run by the company below. For questions about analytics, or to exercise the rights under “Your rights” above, email the address below.