BigXLDesktop
FeaturesScalePrivacyCompareDocsBlogPricingSupportDownload
User Guide

Everything BigXL does, in plain words.

Jump to a topic below, or use ⌘K inside the app to search for what you want directly.

Start

Getting started

Open a file

File → Open, or press ⌘O. Pick a CSV, TSV or XLSX file. There is no size limit and no import step. A 10 GB file opens the same way a 10 KB one does, and the first rows appear while the rest is still being read.

If you open an Excel workbook with more than one sheet, BigXL asks which sheet you want. Each sheet behaves like its own file after that.

Open several files at once and each gets its own tab. Tabs are independent, so sorting one does not touch another.

Three things that work differently

Your original file is never changed. Everything you do happens in a working copy. Filtering, cleaning, masking and deleting rows all leave the file on disk exactly as it was. To get your changes out, export them to a new file.

Nothing leaves your machine. BigXL has no servers and no telemetry. The assistant runs on your own hardware. You can unplug the network and everything still works.

Every step is undoable. The Timeline records what you did in plain words, and you can step back to any point. Nothing is destructive.

What you see

The toolbar holds the things you reach for most. You can hide buttons you never use in Settings → Toolbar.

The formula bar shows the cell you are on and lets you edit it.

The status bar at the bottom shows the file name, row count, column count, and what is selected. Select a whole column and it shows totals for it.

The Timeline on the right lists every step. Click any step to go back to it.

If you get stuck

Press ⌘K for the command search. Type what you want in plain words, like “remove duplicates” or “export”, and it finds the right command wherever it lives.

Moving around a big file

Keyboard

Arrow keys move one cell. Hold Shift to extend the selection.

⌘ with an arrow jumps to the edge of the data in that direction, the same as in Excel.

Press ⌘L to go to a row by number. In a file with 40 million rows this beats scrolling.

Tab and Enter move right and down after an edit.

Selecting

Click a column letter to select the whole column. Click the corner box to select everything.

Select a single column and the status bar shows its count, total, average and range, worked out over the whole file rather than the rows on screen.

Column width

Drag the divider between two column headers to resize. Double-click it to fit the widest value.

Freeze columns

Scrolling right in a wide file loses sight of the column that tells you which row you are on. To pin it, right-click a column header and choose Freeze columns up to this one. Everything from the first column to that one stays at the left edge while the rest scrolls underneath, so a far-off column can sit right next to the name it belongs to.

A blue line marks the boundary. To undo it, right-click any header and choose Unfreeze columns.

Editing a cell

Double-click a cell, or press F2, or just start typing. Press Enter to keep the change and Escape to drop it.

Edits are recorded in the Timeline like everything else, so a wrong one is one undo away.

Find and shape

Filtering and sorting

Filter

Click Filter in the toolbar, or right-click a column and choose Filter by value… to pick from the values actually in that column.

A filter is a column, a condition, and a value. Conditions are contains, does not contain, equals, does not equal, greater than, less than, and is one of.

Every active filter shows as a chip below the toolbar. Click the × on a chip to drop it, or Clear all to drop every filter at once.

Filters stack. Add a second filter and both must match, the same as Excel’s AutoFilter across several columns.

Sort

Click a column header to sort by it. Click again to reverse the order. A third click, or right-click and choose Remove the sort, returns the rows to the order they were in.

The header shows an arrow pointing the direction of the current sort.

Both together

Filtering and sorting run over the whole file, not just the rows loaded on screen, so they work the same way on 12 rows or 12 million.

Cleaning and fixing data

Where to find it

Right-click a column header for the actions that apply to it, or open the Clean menu for the full list. Press ⌘K and type what you want to do, like “trim spaces” or “remove duplicates”.

Text cleanup

Trim spaces drops the spaces hiding at the start and end of a value.

UPPER CASE, lower case, and Title Case change how the text reads without changing what it means.

Making values usable

Clean $ and commas strips currency symbols and thousands separators so the numbers underneath can be sorted and totalled.

Clean IP addresses strips ports and brackets.

Normalize emails lowercases and trims addresses so two that only differ in case are treated as the same.

Force column to numbers finds the values that are not valid numbers and offers to fix them.

Split a column

Right-click a column and choose Split, or open it from the Clean menu. Pick what to split on, comma, space, semicolon, tab, pipe or dash, and see the new columns before you commit. BigXL previews the rows that split into the most parts first, so you see every column that will be created, not just the first few rows.

To put two split columns back together, add a computed column with the & operator, for example =[full_name 2] & " " & [full_name 3]. See Formulas and computed columns.

Find and replace

⌘R, or the Clean menu. Finds text across a column and replaces it with something else.

Remove duplicate rows

Pick which columns count toward a duplicate. Rows that match on all of them are removed, keeping the first one.

Every step is a preview first

Nothing in this list changes a value until you confirm it, and every one of them shows what it would do before it runs. Your source file is never touched. Step back from any change in the Timeline.

Formulas and computed columns

Add a computed column

Data → Add computed column…, or press ⌘K and type “add column”. Give the column a name and write a formula, starting with =, using the same syntax as Excel.

A formula works out a value for every row in the file, so it always creates a new column. It cannot be typed into a single cell, because a cell only holds one value and a formula needs to run over the whole column. If you type a formula into a cell, BigXL notices and offers to turn it into a column instead.

What works

Reference a column by name, full_name, or by letter, B.

Join text with &: =full_name & " (" & city & ")"

Branch with IF: =IF(mrr > 1000, "high value", "standard")

Catch an error with IFERROR: =IFERROR(VLOOKUP(order_id, other.csv, 2, FALSE), "no record")

Text functions: UPPER, LOWER, TRIM, LEFT, RIGHT, CONCAT / CONCATENATE, SUBSTITUTE, TEXTJOIN.

Number functions: ABS, ROUND, SQRT, POWER, MOD, CEILING, FLOOR, MAX, MIN.

Operators: & + - * / ^ and the comparisons = <> < > <= >=.

VLOOKUP, pulling a column from another open file

=VLOOKUP(emp_id, salaries.csv, 2, FALSE)

This means: take the value of emp_id on this row, find it in the first column of salaries.csv, and bring back that row’s 2nd column.

The file has to already be open in another tab. The match is always against that file’s first column, the same as Excel matches VLOOKUP against the first column of a range. Always write FALSE for the last argument, which means an exact match.

If you are pulling several columns from one other file, or you want to see how many rows actually matched before committing, use Join instead. It does the same job without a formula and shows you the match counts first.

What is not supported

HLOOKUP, INDEX, and MATCH are not implemented. Use VLOOKUP or Join instead.

SUMIF, COUNTIF, AVERAGEIF and their plural forms are not implemented. Use Pivot instead, it does the same total without a formula.

PROPER is not implemented. Use Title Case from the Clean menu.

Typing one of these tells you where to go instead of failing silently.

Combine

Joining and appending files

Open it

Click Join in the toolbar, or press ⌘K and type “join”. You need two files open in tabs first.

Join on a column

Pick a source file and a target file, then the column each one matches on. BigXL guesses a likely pair automatically, an exact name match first, then a close one like Order ID against order_id, then anything that looks like an id.

How to combine sets the join type:

  • Only rows matching in both keeps rows whose key exists on both sides.
  • Keep rows from the left keeps every row from the source file, filling in blanks where the target has no match.
  • Keep rows from the right does the same from the target file’s side.
  • Keep rows from both keeps every row from either side.

Before you confirm, the panel shows how many rows matched, how many exist only on each side, and a preview of the combined table.

Append rows instead

Choose Append rows from both files in How to combine when you want to stack one file under another rather than match columns, for example twelve months of the same export. Columns line up by name automatically. A column that only exists in one file is filled in as blank for the rows from the other.

The result

Joining or appending creates a new tab named after both files, for example employees_salaries.csv. Neither source file is touched, and the result behaves like any other file, you can filter it, sort it, chart it, and export it.

Analyze

Summarize a column

Open it

Select a column and click Summarize, or press ⌘U.

What it shows

For a text column: how many rows, how many distinct values, and how many are blank.

For a number column: sum, average, minimum, maximum, and how many are blank, worked out over every row in the file, not just what is loaded on screen.

Charts

Pick a chart type, Bars, Columns, Pie, Donut, Line, Area, Dots, Spread, or Quartiles, and BigXL builds it from the column. Click a slice or bar to filter the sheet down to that value.

Export the chart as an image from the panel.

Pivot tables

Open it

Click Pivot in the toolbar, or press ⌘K and type “pivot”.

Set it up

Pick a row column, an optional column to break it down by, and what to measure: how many rows, a total, an average, or a few other aggregates. BigXL fills in the result grid immediately and updates it as you change any of the three.

This replaces SUMIF, COUNTIF, and AVERAGEIF, which are not implemented as formulas in BigXL, use Pivot for those instead.

Export

Export the pivot result as its own CSV from the panel.

The SQL console

Open it

Click SQL in the toolbar, or press ⌘K and type “sql”.

Write it yourself

The console runs standard SQL against view, the file as it currently is with every filter, sort and mask already applied, or against data, the whole file with none of that. Press ⌘Enter to run.

It is read only. A query cannot change your data, only read it.

Or describe it in plain English

Type what you want in the box above the editor, for example “average salary by department”, and click Write SQL. It fills in the query below, which you can read, edit, and run yourself before anything happens.

Suggestions

The panel offers six ready-made queries based on your file’s actual columns: a preview, a count grouped by a likely category, an average, a distinct list, and a sort by the newest date. Click one to run it straight away.

Export

Export the query result as its own CSV from the panel.

Ask, the plain English assistant

Open it

Click Ask in the toolbar, or press ⌘J.

What it does

Type a question in plain English, like “total sales by region” or “show people earning over 80000”, and BigXL works out the query, runs it, and shows the result. It can filter rows, compute a stat, or build a chart, whatever the question calls for.

It runs on your machine

The assistant is a language model that runs entirely on your own hardware. Nothing about your file, or your question, is sent anywhere. It works without an internet connection.

Not sure what to ask

Start broad, “what does this file contain”, and narrow from there. Every answer is a real query you can see, so if it gets something wrong you can tell exactly what it did and correct it.

Privacy

Redacting personal data

Open it

Click Redact in the toolbar.

Presets

GDPR detects EU personal data, names, contact details, locations, account numbers, and IP addresses.

HIPAA detects the identifiers covered by the HIPAA Safe Harbor standard, patient and doctor names, clinical dates, medical record numbers, and contact details.

Legal detects attorney-client communications, work product, settlement records, and confidential party identifiers, for discovery review.

Custom lets you pick columns yourself, for anything the presets do not cover.

Detected columns are checked automatically. Uncheck any you do not want masked.

What it can detect

Email addresses, phone numbers, payment cards, social security numbers, IBAN bank accounts, Aadhaar numbers, National Insurance numbers, IP addresses, MAC addresses, person names, dates of birth, admission or discharge dates, and postal addresses. Each detector validates the value, not just the column name, so a column called id that happens to hold something else is not flagged by mistake.

How masking works

Each column gets a masking mode: keep the domain of an email, keep the last 4 digits, keep initials, keep only the year of a date, keep the network part of an IP, a consistent hash so the same input always masks the same way, keep the first character, shift a date by a random but consistent number of days, keep a 3 digit ZIP prefix, or mask everything.

Masking is not destructive. It applies to what you see and what you export, and your source file is never changed. Any mask can be undone from the Timeline.

The Legal preset can export a privilege log, a record of what was masked and why, alongside the redacted file.

History and automation

Timeline and recipes

The Timeline

Every change you make, filtering, sorting, cleaning, masking, editing a cell, is recorded as a step in plain words, shown in the panel on the right. Click any step to jump back to that point. Nothing is destroyed, a step you leave behind is still there if you jump forward again.

Toggle the panel with ⌘B.

Save a recipe

Once you have a run of steps you would want again, click Save in the Timeline panel, or right-click a step and choose Save recipe up to this step. This records the steps, not the data, so it can run on a different file with the same shape.

Apply a recipe

Apply to other tabs replays the current tab’s steps on other files you have open, in one go, useful for a folder of files that all need the same cleanup.

Import loads a saved recipe file and replays it on the sheet you are looking at.

Run a cleanup on a whole folder

From the Clean menu, Run this cleanup on a folder applies a saved recipe to every file in a folder at once, outside the app, and reports anything that failed a check instead of silently saving it.

Exporting your file

Export what you see

⌘E, or Export CSV in the toolbar. This saves the current view, every filter, sort, mask, and edit you have applied, as a new CSV file. Your original file is untouched.

Other formats

From the export menu next to the toolbar button: Excel (.xlsx), TSV, Parquet, and JSON.

Split into chunks

Export chunked CSV… splits the file into several CSVs of a row count you choose, useful if the result needs to fit inside Excel’s 1,048,576 row limit, or a system that only accepts files under a certain size.

Masking travels with the export

If you have masked any columns, the masked version is what gets exported, never the original values. If BigXL notices a column still holding something that looks like personal data on export, it warns you before writing the file.

Saving and reopening a session

Save a session

⌘S, or File → Save session…. This saves every tab you have open, along with all its filters, sorts, edits and masks, as a single .bigxl file.

Reopen it

⇧⌘O, or File → Open session…. Every tab reopens exactly as it was, same filters, same sort, same masked columns.

A session remembers where each source file lives, but not the data itself, so the original files need to still be in the same place when you reopen it. If a file has moved, BigXL tells you which one so you can open it fresh. If a file changed size since the session was saved, your steps are restored but flagged, since they may no longer mean the same thing on the new data.

Notes

Open it

Click Notes in the toolbar.

What it is

A plain text box you can keep open while you work. It is not tied to one file, so you can jump between tabs without losing what you wrote.

Where it lives

Notes stay in the app for the length of your session. They are cleared automatically when you close the last open file, so they do not quietly pile up across unrelated work.

If you want a note to outlive the session, click Save to write it to a text file, or Import to bring an existing text file’s contents in.

Reference

Keyboard shortcuts

Shortcut What it does
⌘K Command search, find any action by typing what you want
⌘J Ask, the plain English assistant
⌘O Open a file
⇧⌘O Open a saved session
⌘S Save session
⌘E Export view as CSV
⌘F Find
⌘R Find and replace
⌘U Summarize the selected column
⌘L Go to row
⌘B Toggle the Timeline panel
⌘Z Undo
⇧⌘Z Redo
⌥⌘T Toggle the toolbar
⌘C Copy
⌘V Paste
F2 Edit the selected cell
Enter Confirm an edit, move down
Tab Confirm an edit, move right
Escape Cancel an edit, close a panel
Arrow keys Move the selection
⌘ + Arrow Jump to the edge of the data
Shift + Arrow Extend the selection
Download BigXLFree for any file size. macOS, Windows and Linux.