New Features
Word Wrap in the Main Grid 📝
Long cell values can now wrap onto multiple lines instead of being cut off at the column edge. Toggle it per tab with Alt+Z or from the View menu, and set the default for new tabs under Settings → Grid Editor → Word Wrap.
Related issues: #218
Export as PDF 📄
File ▸ Export as PDF… turns the data you are looking at into a printable document, laid out for paper rather than a screenshot of the grid. Columns are sized to fit the page, long cells wrap instead of being cut off, and the header row repeats on every page.
Drag to Move or Copy Cell Contents ✋
CleanShot.2026-08-16.at.15.49.05.mp4
Drag the border of a selected cell range to move its values. Hold Option (macOS) or Ctrl (Windows/Linux) while dragging to copy instead.
Related issues: #240
Blank Down 🔽
Collapse runs of repeated values down to their first occurrence, so a sorted key column reads as group headings instead of the same value over and over.
city code city code
Tokyo A Tokyo A
Tokyo A
Tokyo B → B
Osaka B Osaka B
Osaka B
Select several columns and they are read as a key hierarchy, left to right. Fill Down puts back everything Blank Down clears.
Hide Empty Fields in the Record View 🫥
Wide files rarely fill every column for every row: a shoe has no collar, a dress has no sole. The Record View now has a filter button that hides the fields with no value for the record you're on, so 200 columns collapse to the 20 that mean something.
Related issues: #238
Optional Native Title Bar 🪟
You can now use the operating system's title bar instead of the custom SmoothCSV one. Set Settings → Window → Title Bar Style → Native, then restart. Especially useful on Linux (KDE Plasma, GNOME, and others) where the custom bar looks out of place next to the system's own decorations.
Related issues: #220
Improvements
- Lighter on large files - Displaying and filtering files with hundreds of thousands of rows now uses much less memory, and a large paste no longer leaves tens of megabytes behind in the undo history.
- Smoother grid and tab switching - Moving the cursor, scrolling, and switching between open files do less work per frame, so the grid stays responsive on slower machines and large displays.
- Reload and Save As keep your place - Reloading a file, reopening it with a different format, or saving it under a new name now stays in the editor you are already working in, so your scroll position, column widths, filter, and undo history survive.
- Saving an unchanged file does nothing - Pressing Save on a document with no unsaved changes no longer rewrites the file, so its timestamp and any tool watching it stay untouched.
- Safer overwrite check when saving - SmoothCSV inspects the file on disk more thoroughly before overwriting it, so a change made by another program between opening and saving is far less likely to be missed. On a large file it asks before the save rather than after.
- Undo header and footer changes - Setting header rows, column name rows, and footer rows can now be undone and redone.
- Jump to a tab by number - In the desktop app,
Cmd/Ctrl+1through8open the tab at that position andCmd/Ctrl+9opens the last one, as in a browser. The editor-group commands these keys used to run are still available to rebind in the keyboard shortcuts settings. - Emacs selection chords in the grid (macOS) -
Ctrl+Shift+P/N/B/Fextend the selection up / down / left / right, andCtrl+Shift+A/Eextend it to the start / end of the row. - Consistent newline shortcut - Multi-line text fields now insert a newline with
Alt+Enteronly (Option+Enteron macOS);Cmd/Ctrl+Enterno longer does. - More visible grid scrollbars - Grid scrollbars are easier to spot and grab, with higher contrast in dark mode. (#245)
- Clearer command names -
Clear Duplicate Cellsis nowClear Duplicate Rows, which is what it actually judges, and PDF and Excel export moved under theGrid Editorcommand category.
Bug Fixes
- Fixed edits made while a file was being saved (including by Save As) being silently lost, with nothing to show they were still unsaved.
- Fixed a cell you were typing being left out of the saved file, most reliably when editing in the Record View.
- Reloading a file no longer discards your work without asking, whether you were in the middle of an edit or made one while the file was being read.
- Closing a tab while a cell was being edited no longer discards that value.
- Save As no longer throws work away: writing onto a file that is open with unsaved changes now asks you to save or close that tab first, and writing a file over itself no longer fails with an error and a disappearing tab.
- Opening a file that is already open now reuses the existing tab even when the path is spelled differently, such as a different letter case on macOS and Windows. Previously the same file could be open twice, with each tab overwriting the other's edits.
- Fixed restoring a backup over an open file leaving that file's tab showing the old contents, or the restored contents with the wrong delimiter.
- Fixed Reopen in the file format dialog doing nothing when the format was left unchanged.
- Fixed the grid ending up filtered by the previous query when you applied a new filter on a large file before the first one had finished.
- Fixed SQL Console keeping the old column names after the header rows were changed, and re-reading the whole file every time you saved.
- Fixed
Ctrl+Ccancelling a running query instead of copying in the SQL Console on Windows and Linux. Use the toolbar's cancel button there;Ctrl+Cstill cancels on macOS. - Fixed "Clear Duplicate Rows" being grayed out in the Edit menu even with a range selected. (#244)
- Fixed Insert Cells having no working keyboard shortcut. It is now
Ctrl+Alt+=(⌥⌘=on macOS), and Delete Cells isCtrl+Alt+-(⌥⌘-on macOS), matching Google Sheets. - Fixed clicking the handle that reveals hidden rows or columns sometimes revealing a different hidden group and jumping the selection off-screen.
- Fixed Transform and Paste As in the Record View right-click menu editing the grid's selected cells instead of the record.
- Fixed the first character being dropped when you started typing right after moving to the Find or Replace box.
- Fixed the keyboard cursor occasionally staying on the grid when opening the Cell Value or Record panel.
- Fixed text selections in input fields not being cleared when clicking to move the caret.
- Other minor bug fixes and improvements.