Keyboard Shortcuts¶
Every action below is remappable under Settings → Shortcuts. The bindings shown are the defaults shipped with Octa.
Click Record on a row and press the combination you want. While Octa waits for that press the keys do nothing else, so recording Ctrl+S records it rather than saving the file. Esc stops recording.
Two actions can never share a combination. If the one you press is already
taken, Octa names the action holding it and offers Take it over: the key
moves to the action you are recording, and the previous owner is left unbound
(it shows (none) and you can record a new key for it). Nothing is written
until you click Apply, so Cancel still discards the whole lot.
File operations¶
| Action | Default | Notes |
|---|---|---|
| New file | Ctrl+N | Open an empty scratch tab. |
| New table... | (unbound) | Blank editable grid in a new tab; pick columns and rows first. See Starting from nothing. |
| Open file | Ctrl+O | File picker (multi-select supported). |
| Save file | Ctrl+S | Write back to the original path. |
| Save file as… | Ctrl+Shift+S | New path + optional new format. |
| Save with password… | (unbound) | Save the table inside a password-protected zip. See Password-protected files. |
| Save database changes as SQL… | (unbound) | Render a database tab's pending edits as a reviewable script instead of applying them. See Database Connections. |
| Save to database… | (unbound) | Write the open table into a live connection or a DuckDB / SQLite file. See Database Connections. |
| Export workbook… | (unbound) | Write several open tabs into one .xlsx, one sheet per tab. See Saving. |
| Open URL… | (unbound) | Open an http(s):// or cloud address as a file. See Cloud Storage. |
| Open API endpoint… | (unbound) | Read a saved REST/JSON endpoint as a table. See API Endpoints. |
| Export schema… | F7 | Open the Schema Export dialog with all ten targets. See Schema Export. |
| Refresh tab | Ctrl+R | Reads the tab's source again, into the same tab or a new one. See Refresh a Tab. |
| Close current tab | Ctrl+W | Prompts when there are unsaved changes. |
| Reopen last closed tab | Ctrl+Shift+T | Walks back through the last 10 closed tabs. |
| Quit application | Ctrl+Q | Prompts when any tab has unsaved changes. |
| Open table folder | (unbound) | Open a Delta / Iceberg / dataset directory as one table. See Supported Formats. |
| Export to PDF... | (unbound) | Render the table to a paginated PDF. See PDF Export. |
| Open directory... | (unbound) | Show a folder in the sidebar tree and open files straight from it. |
Tabs¶
| Action | Default | Notes |
|---|---|---|
| Next tab | Ctrl+Tab | Wraps to first. |
| Previous tab | Ctrl+Shift+Tab | Wraps to last. |
| Rename tab… | Ctrl+Alt+T | Display name only; the file path is unchanged. Also tab right-click. |
Search¶
| Action | Default | Notes |
|---|---|---|
| Focus search box | Ctrl+F | Filter the table in real time. |
| Toggle find & replace | Ctrl+H | Replace bar above the table. |
| Filter by value or shape... | Ctrl+Shift+F | Per-column value or shape filter. See Column Filter. |
| Open multi-search panel | F6 | Cross-tab + directory grep with a docked result list. See Multi-search. |
| Run inventory on expanded cloud connection | (unbound) | Lists the objects under the expanded cloud prefix as a table. See Cloud Inventory. |
Navigation in the table¶
| Action | Default | Notes |
|---|---|---|
| Go to cell (focus nav input) | Ctrl+G | Status-bar field accepts R5:C3, row #, column name. |
| Jump to first row | Ctrl+Shift+↑ | |
| Jump to last row | Ctrl+Shift+↓ | |
| Jump to first column | Ctrl+Shift+← | |
| Jump to last column | Ctrl+Shift+→ | |
| Scroll up one page | Ctrl+PgUp | Advances selection by one visible page; spreadsheet-style. |
| Scroll down one page | Ctrl+PgDn | Mirror of Scroll up one page in the other direction. |
| Add bookmark... | Ctrl+Alt+B | Names the current selection as a session bookmark. |
| Jump to next flagged cell | F10 | Steps through validation violations and detected outliers. |
| Jump to previous flagged cell | Shift+F10 | Same set, other direction. Both wrap and respect filters. |
Selection¶
| Action | Default | Notes |
|---|---|---|
| Select all rows | Ctrl+A | Inactive when a text editor is focused (lets Ctrl+A select text). |
| Extend row selection up | Ctrl+↑ | |
| Extend row selection down | Ctrl+↓ | |
| Extend column selection left | Ctrl+← | |
| Extend column selection right | Ctrl+→ |
Ctrl+click a cell toggles it in a disjoint multi-cell selection. Mark / Copy / Cut then operate on every selected cell, following the same precedence Ctrl+M uses from the keyboard.
Editing¶
| Action | Default | Notes |
|---|---|---|
| Edit current cell | F2 | Same as double-clicking. |
| Insert row below | Ctrl+Shift+Enter | New empty row. |
| Duplicate selected row(s) | Ctrl+D | Copies the selected row(s) immediately below. |
| Delete selected row(s) | Ctrl+Shift+K | |
| Number format... | Ctrl+Shift+N | Per-column number formatting dialog. |
| Undo last change | Ctrl+Z | Covers cell edits, structural changes, marks. |
| Redo last undone change | Ctrl+Y |
Clipboard¶
| Action | Default | Notes |
|---|---|---|
| Copy selection | Ctrl+C | TSV format on the clipboard. |
| Cut selection | Ctrl+X | Copies, then clears the cells. |
| Paste | Ctrl+V | Splits on tabs + newlines. |
| Copy as Markdown table | Ctrl+Shift+B | GitHub-flavoured Markdown table of the selection. |
| Copy as IN list | (unbound) | Copies the selected values as a SQL list, ('A-17', 'B-22'). See Table View. |
Marking¶
| Action | Default | Notes |
|---|---|---|
| Mark selection (default colour) | Ctrl+M | Colour is Settings → Table → Default mark colour. |
| Filter to marked | Ctrl+Alt+M | Keep only marked rows/columns; press again to clear. |
Text-case¶
| Action | Default | Notes |
|---|---|---|
| Uppercase selected cells | Ctrl+Alt+U | Also works on TextEdit selections (SQL editor, raw editor). |
| Lowercase selected cells | Ctrl+Alt+L |
Zoom¶
| Action | Default | Notes |
|---|---|---|
| Zoom in | Ctrl++ | 5% increments; 25% to 500% range. |
| Zoom out | Ctrl+- | |
| Reset zoom | Ctrl+0 | Back to 100%. |
View¶
| Action | Default | Notes |
|---|---|---|
| Cycle view mode | F4 | Walks Table → Raw → Markdown → … skipping modes not applicable to the current file. |
| Toggle read-only mode | F8 | Session-only; not persisted. |
| Toggle SQL panel | Ctrl+J | Same as Analyse → SQL. See SQL panel. |
| Open chart tab | F5 | Open a new tab dedicated to plotting the active table. Same as Analyse → Chart.... See Chart. |
| Toggle chat assistant panel | Ctrl+Shift+A | Same as Analyse → Assistant. See Chat Assistant. |
| Auto-fit all columns | Ctrl+Shift+W | Same algorithm as double-clicking a column-header seam, applied to every column. |
| Auto-fit all rows | (unbound) | Every row takes the height its content needs; turns cell line breaks on. Same as double-clicking the # corner seam. |
| Compare selected tabs | F9 | Requires exactly one tab to be Ctrl-clicked in the multi-selection set. |
| Split view | (unbound) | Two stacked panes over one table; fire again to close. |
| Split side by side | (unbound) | The same split, left and right instead of top and bottom. |
| Toggle cloud panel | (unbound) | Show or hide the cloud sidebar. See Cloud Storage. |
| Toggle databases panel | (unbound) | Show or hide the databases sidebar. See Databases. |
| Add split pane | (unbound) | One more band, up to 6. Needs a split already showing. |
| Remove split pane | (unbound) | One band fewer, down to two. Silent at either limit. |
SQL panel¶
| Action | Default | Notes |
|---|---|---|
| Export SQL result | Ctrl+Shift+E | Save the current SQL result to a file. No-op when no result yet. |
| Run SQL on server | (unbound) | Runs the editor statement on the tab's database connection instead of local DuckDB. See Database Connections. |
| Comment / uncomment SQL lines | F12 | Comments or uncomments the lines the editor selection touches. See SQL. |
| Format SQL | (unbound) | Lays out the SQL editor's query, or the marked part, in the style set under Settings -> SQL. See SQL. |
| Explain query plan | (unbound) | Shows how the database would run the SQL editor's query, without running it. See SQL. |
| New SQL editor | Ctrl+T | Opens another SQL editor beside the others, or the SQL panel when it is closed. Works while typing in the editor. See SQL. |
| Open SQL file... | (unbound) | Reads a .sql file into the SQL editor, or into a new editor beside it. See SQL. |
| Save SQL file as... | (unbound) | Saves the SQL editor's query to a new .sql file. Ctrl+S in the editor saves to its file. See SQL. |
Dialogs¶
| Action | Default | Notes |
|---|---|---|
| Open documentation | F1 | This documentation, in-app. |
| Open settings | F3 | |
| Show column value frequency | Ctrl+Shift+I | Top-N values + counts for the column of the selected cell. See Value Frequency. |
| Pivot / Unpivot... | Ctrl+Shift+P | See Pivot / Unpivot. |
| Transform column... | Ctrl+Shift+R | See Transform column. |
| Conditional formatting... | Ctrl+Shift+L | See Conditional formatting. |
| Conditional column... | Ctrl+Shift+J | If / else-if / else CASE column. See Transform column. |
| Hash columns... | (unbound) | Open the Hash columns dialog: one new column holding a hash of chosen columns. |
| Anonymise columns... | Ctrl+Shift+Y | Mask / scramble sensitive columns. See Anonymise Columns. |
| Data validation... | Ctrl+Shift+G | See Data validation. |
| Sort by columns... | Ctrl+Shift+O | Multi-column sort. |
| Summary tab | Ctrl+Shift+M | See Summary. |
| Data quality report... | Ctrl+Alt+Q | See Data Quality Report. |
| Rename columns… | Ctrl+Alt+R | Bulk column rename. See Rename columns. |
| Fill missing values... | Ctrl+Alt+I | See Fill Missing Values. |
| Change type... | unbound | See Change column type. |
| Tab memory... | unbound | See Tab memory. |
| Union tables... | Ctrl+Alt+N | Needs two open tabs. See Union Tables. |
| Detect outliers... | Ctrl+Alt+O | See Detect Outliers. |
| Detect PII... | Ctrl+Alt+P | See Detect PII. |
| Clean-up suggestions | (unbound) | Toggles the panel; opening it scans. See Clean-up Suggestions. |
| Toggle column navigator | (unbound) | Docked, searchable list of columns: show, hide, freeze and reorder. See Column Navigator. |
| Toggle edit audit trail | (unbound) | Docked list of pending cell edits, with before/after values, jump and revert. See Edit Audit Trail. |
| Toggle recipe panel | (unbound) | The steps done to this tab, to save as a recipe. See Recipes. |
| Apply recipe... | (unbound) | Replay a saved .ocp recipe on the active tab. See Recipes. |
| Choose recipe ID column... | (unbound) | Which column names a row for recorded cell edits. See Recipes. |
| File internals... | (unbound) | Physical layout of the open file. See File Internals. |
| Compare with database or cloud... | (unbound) | See Compare with Database or Cloud. |
| Compare folders... | (unbound) | Compare two or more folders file by file. See Compare Folders. |
| Join key finder... | (unbound) | See Join Key Finder. |
| Join diagnostics... | (unbound) | See Join Diagnostics. |
| Harmonise schemas... | (unbound) | See Harmonise Schemas. |
| Toggle Ask (plain-language filter) | (unbound) | Retargets the search box at a question instead of a filter. |
| Find duplicate rows... | Ctrl+Shift+D | Key picker + highlight / new tab / filter. See Find duplicates. |
| Find near-duplicates... | Ctrl+Shift+U | Fuzzy clusters (typos, spacing, word order). See Find Near-Duplicates. |
| Drop duplicate rows... | Ctrl+Shift+H | Find duplicates preset to drop, whole-row key. See Find duplicates. |
| Join tables | Ctrl+Shift+Q | Needs two open tabs. See Join Tables. |
| Split into files... | Ctrl+Shift+Z | Writes several files by column, rows or size. See Split into Files. |
| Time series... | (unbound) | Time buckets and rolling windows. See Time Series. |
| Batch convert... | (unbound) | See Batch Convert. |
| Schema drift... | (unbound) | See Schema Drift. |
| Merge versions... | (unbound) | Merge two or more edited versions of a table. See Merge Versions. |
| Earlier versions... | (unbound) | Open, compare or restore a version a save replaced. See Earlier Versions. |
| View cell contents... | (unbound) | Show what the selected binary cell holds. See Binary cells. |
| Export database tables... | (unbound) | Export a schema's tables to files. See Database Connections. |
| Generate test data... | (unbound) | New rows shaped like the table, to share. See Test Data. |
| Report... | (unbound) | HTML profiling report. See Report. |
| Fuzzy join... | (unbound) | See Fuzzy Join. |
| Data drift... | (unbound) | How one dataset changed between two versions. See Data Drift. |
| Relationship map... | (unbound) | Which tables link to which, and on which columns. See Relationship Map. |
| Correlation... | (unbound) | Pairwise correlation over the numeric columns. See Correlation. |
| Find lookup tables... | (unbound) | Columns that always follow another column. See Find Lookup Tables. |
| Cell history... | (unbound) | The commits that changed the selected cell. See Cell History. |
| Compare distributions... | (unbound) | See Compare Distributions. |
| Referential integrity... | (unbound) | Values in one column with no match in another. See Referential Integrity. |
| Transpose | (unbound) | Swap rows and columns into a new tab. |
| Compare rows... | (unbound) | Put the selected or marked rows side by side, field by field. |
| Random sample... | (unbound) | Open a new tab holding a chosen number of random rows. |
| Load whole table... | (unbound) | Count the rows of a partly loaded table and offer to download the rest. |
| Tidy up... | (unbound) | Whitespace, casing and empty rows or columns in one pass. Refused in read-only mode. |
| Date/Time calculation... | (unbound) | Differences between dates, and date arithmetic into a new column. |
| Compare with git version... | (unbound) | Diff the open file against a revision from its git history. |
| Explain this file | (unbound) | Ask the assistant what the open table is. Needs a chat profile. |
| Report AI content... | (unbound) | Report inappropriate assistant output. |
All of these are rebindable in Settings → Shortcuts, which refuses to let two actions share the same combination.
An action listed as (unbound) ships with no default combination, because every Ctrl+Shift+letter is already taken (and Ctrl+Shift+C / X / V fire the clipboard on the table regardless). Assign one yourself if you use it often; the menu entry works either way.
Cheat-sheet (most-used)¶
If you only remember a handful:
| Ctrl+O | Open |
| Ctrl+S | Save |
| Ctrl+F | Search |
| Ctrl+Z / Y | Undo / Redo |
| F4 | Cycle view |
| F8 | Read-only |
| Ctrl+J | SQL panel |
| Ctrl+Shift+T | Reopen closed tab |
| Ctrl+Shift+W | Fit all columns |
See also¶
- Settings → Shortcuts, the rebinding UI.
- Table view for context on the navigation and selection shortcuts.
- Editing for context on the editing shortcuts.