Download Modern CSV

You may download Modern CSV and use it for as long as you wish without a license. If you want access to the Premium features, you can buy a license here.


  • Fixed a crash in read-only mode.
  • Fixed a bug with copying cells to text where it would sometimes leave undesired surrounding quotes around cells.
  • Slight modification to sort.
  • Slight modification to text sizes on displays not scaled to 100%.

Past Changes

Version 1.3.34

  • Improved the size of text and buttons when the screen is scaled to something other than 100%.
  • Added a Check for Updates feature.
  • Fixed an issue with copying cells containing newlines, commas, and quotes.
  • Fixed a bug in the sort commands where in some special cases, it wouldn't order them correctly or consistently.
  • Fixed a bug with the editor pane sizing incorrectly on startup.
  • Fixed a parsing bug in read-only mode when reading extremely large files (i.e. approx. 10 GB or larger).
  • Fixed the Duplicate Selected Rows/Columns commands so the selection is correct after the command.

Version 1.3.33

  • Fixed a rare crash when opening large files (i.e. >256 MB).
  • Fixed the Remove Selected Rows/Columns commands so when undoing them, it updates the table size in the status bar.
  • When opening a file that's read-only in the file system, it'll automatically load in read-only mode.
  • When the program is closed while displaying on a secondary monitor and later opened when the secondary monitor is no longer plugged in the system, it will display on one of the existing monitors.
  • Fixed a bug where license keys with certain non-ASCII characters would be rejected.

Version 1.3.32

  • When the Save Visible Data As command will result in a large file, it now gives the user options to open it read-only mode, open it in edit mode, or not open it at all.
  • Fixed licenses not being recognized when a second instance of the program is opened.

Version 1.3.31

  • Fixed a bug where a second instance wouldn't open.
  • Fixed a bug with the Remove Selected Rows/Columns commands when filters are applied causing the filter to not update properly.
  • Fixed a bug with undoing Remove Selected Columns where it wouldn't work properly in some circumstances.
  • Minor bug fixes.

Version 1.3.30

  • Fixed the Split by Index commands so they always work as expected.
  • Fixed cell drag and drop so it works on a single cell.
  • Updated the Settings file for clarity.
  • Fixed the Settings file so when updated, it doesn't change certain settings already set for individual tables.

Version 1.3.29

  • Fixed a bug with tab and space delimiters defined in the File Extension Options file.
  • In the File Extension Options file, set the default delimiter for .csv files to "(auto)" (i.e. auto-detect delimiter). This only affects new installations.

Version 1.3.28

  • Improved performance with the Move Rows Up/Down and Move Columns Left/Right commands.
  • Added support for files without extensions to the File Extension Options file, the sidebar, and the Go to File command.
  • Implemented a Sparse Quote parsing standard. When saving a file, it will only include surrounding quotes if the cell contains a delimiter or newline character. It doesn't affect how it reads a file.
  • Fixed several commands to scroll as the selection moves off the screen so the selection stays visible. Affected commands are: Select Up/Down/Left/Right (shift+arrow), Move Selected Rows/Columns/Cells, and Duplicate Rows/Columns/Cells.
  • Added the following commands in case the user accidentally deletes or ruins one of the preference files: Restore Settings File, Restore Keyboard Shortcuts File, and Restore File Extension Options File.
  • Added an Open Preference File Folder command.
  • Improved the Convert to Title Case command to better handle commas, dashes, and backslashes.
  • Fixed multi-cell editing so it shows the updates in all the cells with each keystroke.
  • Fixed column resizing when the Auto-Fit Column Width setting is on and header rows are frozen.
  • Fixed a bug when the main selected cells is beyond the data and the user selects over in some direction (i.e. shift+arrow).
  • Fixed a crash when the user tries to split cells by delimiter but provides a blank input for delimiter.

Version 1.3.27

  • Improved the performance of Find and Replace.
  • Improved performance of copying large amounts of data.
  • Mild performance improvement for pasting large quantities of data.
  • Ensured that when changing most settings with command (e.g. Set Theme, Set Font, etc.), the changes are written to the Settings file and persist across sessions.
  • If the user opens a folder that has a lot of files (counting recursively), it'll pop up a warning message and allow the user to either continue or cancel. Before, it simply wouldn't open.
  • Fixed issues when it automatically rewrites preference files on version changes.
  • Mac: Fixed Open Terminal to File's Directory.
  • Fixed opening files from the terminal so the user can cd to different folders and open files into the already existing instance of Modern CSV without having to input the file's entire path.
  • Windows: Ensured that when double-clicking on a CSV file, Modern CSV will come to the front.
  • Fixed the Replace pane so the keyboard focus always goes to the Find field upon opening it.
  • Fixed right-click on row/column labels so if multiple rows/columns are selected and the user right-clicks on one of them, it won't deselect the others.
  • Fixed an issue where it wouldn't always scroll to the main selected cell after applying a filter.
  • Minor bug fixes.

Version 1.3.26

  • Added a Save Visible Data As command. This will save a separate file containing only the data that is not filtered out or hidden. This also works in read-only mode (where filtering and sorting are allowed).
  • Added a Save After Each Edit setting. It's turned off by default.
  • Added an "All Quotes" parsing standard option. When saving, every cell will be surrounded by quotes.
  • Improved filtering performance for large files in both edit and read-only modes, especially for number inequalities (e.g. less than, greater than, etc.).
  • Improved sorting performance in read-only mode.
  • Improved performance when deleting many rows at a time.
  • With the Save File As command, the dialog now opens to the current file's path.
  • Improved the wording of the Convert Date/Time Format command for clarity.
  • Changed the names of a few commands for clarity.
  • Rearranged the menus for clarity.
  • Minor bug fixes.
  • Minor performance improvements.

Version 1.3.25

  • Improved the sort algorithm for better results.

Version 1.3.24

  • Status bar now reports how many cells are in the currently selected cell.
  • Fixed delimiter auto-detection on files without file extensions defined in the File Extension Options file.
  • Improved speed of copy operation marginally when copying large amounts of data.
  • Slight improvement in load time.
  • Increased maximum number of files it will allow in a folder that is opened.
  • Fixed pasting cells copied from Excel so non-ASCII characters are displayed correctly.

Version 1.3.23

  • Improved performance with the Remove All Filtered Out and Hidden Data command.

Version 1.3.22

  • Windows, Mac: Fixed horizontal scrolling with a trackpad.
  • Fixed a bug with parsing the escape character in filter strings.
  • Fixed a bug where it would not always save a file with the correct parsing standard.

Version 1.3.21

  • Fixed bugs related to line endings.

Version 1.3.20

  • Added line endings to the File Extension Options file. The options are "Windows" (CR LF) and "Unix" (LF). The default is set to the machine's platform. 
  • Enabled the status bar to show the size of the table when filtered or rows/columns are hidden. This is right next to the size of the whole table in the bottom left corner.
  • Fixed a bug where in some circumstances, it wouldn't hide a row or column.
  • Windows: Fixed issues with opening files from the command line when an instance is already open.
  • Fixed Save File As so it saves according to the settings in the File Extension Options file.
  • Changed the name of Remove All Filtered and Hidden Data to Remove All Filtered Out and Hidden Data for clarity.
  • Minor bug fixes.

Version 1.3.19

  • Mac: Made aesthetic improvements and made application text larger.
  • Ensured that when saving a new file, the parsing standard set in the file extensions file is applied.
  • Minor bug fixes.

Version 1.3.18

  • Fixed a bug where the selection would go to the wrong place when rows or columns where hidden in some circumstances.

Version 1.3.17

  • Fixed a crash with some commands when a whole row or column is selected.

Version 1.3.16

  • Mac/Linux: Fixed a bug causing excessive CPU usage when the Find or Replace pane is open.
  • Mac/Linux: Ensured that when finished dragging the table's vertical or horizontal scrollbar, it snaps to the nearest row or column.
  • Fixed a bug where the selection could go beyond the visible table in some circumstances.

Version 1.3.15

  • Improved how it handles the selection after calling Remove Selected Rows/Columns.
  • Fixed a bug where after some command calls, it wasn't scrolling to the main selected cell.

Version 1.3.14

  • Fixed filters so empty filter strings work.
  • Fixed table resizing issues when applying filters.

Version 1.3.13

  • Changed the name of the Editor Box to Editor Pane.
  • Fixed a bug with Remove Duplicate Rows/Columns command where it wasn't removing all duplicates in some circumstances.

Version 1.3.12

  • Fixed a bug where the table resizes incorrectly after filtering.

Version 1.3.11

  • Fixed a crash with inserting rows when a whole row is selected or inserting columns with a whole column selected.
  • Fixed issues with frozen header rows/columns not showing correctly in some circumstances.
  • Fixed a bug with Find Previous.
  • Limited the number of recent files in the Recent File menu to 25.
  • Ensured the same file can't appear in two different tabs.

Version 1.3.10

  • Fixed a bug causing the program to open at the wrong window size intermittently.

Version 1.3.9

  • Added commands Sort Selected Cells Vertically/Horizontally: Ascending/Descending. These 4 commands will sort only the selected cells. They will not preserve rows or columns.
  • Fixed pasting a single cell to an entire row, column, or table.
  • When copying a single cell, it now copies only as a single cell with no newline character at the end.
  • Fixed column auto-fit when duplicating cells to new columns.
  • Fixed a crash with the Insert Rows/Columns commands in some circumstances.
  • Fixed an intermittent crash with loading very large files.
  • Fixed an issue where very large files were sometime parsed incorrectly in read-only mode.
  • Fixed a bug with copying a whole file where an extra tab character was at the end of each row.
  • Windows: Fixed the Recent Files list so it only shows backslashes.
  • Windows: Fixed portable versions so the config files are all kept within the portable folder.

Version 1.3.8

  • Fixed a bug with filtering negative numbers.
  • Added a Parsing Standard feature to allow the user to parse a file with either the RFC 4180 standard or by delimiter only. This includes a new column in the File Extension Options preference file.
  • Changed the File Extension Options file to not allow the Auto-Detect Delimiter setting to override the Delimiter column. Typing (auto) in the column will enable auto-detect for that file extension regardless of the Auto-Detect Delimiter setting.
  • Changed copy/paste behavior so when the user pastes a single cell, it'll paste into every selected cell, not just the main. The behavior when multiple cells are in the clipboard is unchanged.

Version 1.3.7

  • Added support for Chinese, Japanese, and Korean character encodings.
  • Fixed a bug where Remove All Row(s)/Column(s) didn't work when the whole table is selected.

Version 1.3.6

  • Linux: Fixed a bug causing it to not run in CentOS.
  • Fixed a minor bug with the launcher not always showing all the instructions when the OS's display is scaled.

Version 1.3.5

  • Mac and Linux: In the Find and Replace panes, fixed Highlight Matches and Preview Replace so thet update when scrolling.
  • Fixed a bug where Highlight Matches and Preview Replace weren't always working when the Find or Replace window was closed and opened again.
  • Linux: Fixed synchronization of frozen headers with the rest of the table.

Version 1.3.4

  • Fixed a bug with filtering rows when a table is transposed.
  • Fixed the launcher's option text sizes so it appears find when the OS's displayed is scaled to greater than 100%.
  • Fixed a bug causing a crash in some circumstances when trying to find a phrase that exists in a cell that's been filtered out.
  • Fixed a bug where in some circumstances, the user's delimiter preference in the File Extensions file to be overwritten with a comma when changing versions.
  • In the Find window when Highlight Matches is selected, enabled it to highlight new matches that appear as the user scrolls. Also ensured that the highlights update if the user edits the table.
  • Added a Preview Replace option to the Replace window with shortcut alt+p. It'll highlight the cells to be replaced and show inside the cells in green what the new values will be if the user selects Replace All. No actual data is being overwritten and the previews will go away when the Replace window is closed or the Preview Replace option is turned off.
  • In addition to the Scroll to Top command, added Scroll to Bottom, Scroll to Left, and Scroll to Right. Made the default shortcuts ctrl+home, ctrl+end, ctrl+shift+home, and ctrl+shift+end respectively (cmd instead of ctrl for Mac).

Version 1.3.3

  • Fixed launcher size so it does not cut off the bottom part of instructions when the OS is configured to scale the display to >100%.
  • Fixed filter syntax bug.
  • Fixed a bug causing it to not start editing cells without clicking the mouse button in some circumstances.

Version 1.3.2

  • Fixed filter syntax so '>0' excludes 0.
  • Fixed a bug causing a crash when calling a command via keystroke while holding a mouse button down.

Version 1.3.1

  • Fixed a bug in filters where it handled filter strings with no wildcard characters (*) improperly.

Version 1.3

  • Improved filter syntax to accept numerical ranges, negative filters, and AND operators.
  • Added Insert Row(s) After and Insert Column(s) After commands. Their shortcuts are ctrl+enter and ctrl+shift+enter. The old Insert Row(s) and Insert Column(s) commands were renamed to Insert Row(s) Before and Insert Column(s) Before.
  • Added a Prepend Cell Contents command. It behaves just like Append Cell Contents, except it prepends rather than appends text.
  • Added a setting called Behavior When File is Saved Externally. The options are "refresh", "ask", and "ignore".
  • Added a setting called Let Editor Box Consume Navigation Keystrokes. It is set true by default. When it's true, enter and tab keystrokes will be used to navigate the text within a single cell when the editor box is on. When it's false, enter and tab keystrokes will be used to navigate across cells, just like when the editor box is disabled.
  • When doing a find or replace with multiple cells selected, it automatically turn on the Match Only in Selected Cells option.
  • When a file is saved externally and it refreshes in Modern CSV, the scroll bars will stay where they were before unless the file size has shrunk.
  • Added the ability to hide row/column labels with new settings called Show Row Labels and Show Column Labels.
  • In the light theme, changed the color of the selected cells to blue.
  • Changed the licensing model to freemium. Licenses bought before the change will still work.
  • Updated tutorial.

Version 1.2.10

  • Fixed the Zero-Fill Whole Numbers command so it works correctly when an entire row or column is selected and so it doesn't operate on empty cells.
  • Added Show All Hidden Rows/Columns to the right-click menu.

Version 1.2.9

  • Fixed a bug causing frozen header rows to cover up part of the rows below in some circumstances.
  • Fixed a bug causing it to incorrectly parse some improperly formatted files in read-only mode.
  • Windows: Made 32-bit installer and portable versions.
  • Added Remove All Filters and Filter Selected Row/Column with Selected Cell Contents to the right-click menu.
  • Fixed a bug where if a file with an extension set to open in a non-UTF-8 character encoding had a dot in the file name, it would open as UTF-8.
  • Windows: Upon saving, changed the newline from LF (0x0A) to CRLF (0x0D0A).
  • Fixed Duplicate Cell Contents so the new row/column resizes correctly when Auto-Fit Column Widths or Auto-Fit Row Heights is set.
  • Fixed a bug with pasting causing the last cell to be incorrectly surrounded by double-quotes in some circumstances.
  • Fixed a bug with Zero-Fill Whole Numbers so it now works with very large numbers and numbers with leading zeros.
  • Fixed Find/Replace so it finds matches for non-Roman characters with non-Unicode character encodings.
  • Fixed a rare crash with Find.

Version 1.2.8

  • Fixed a bug causing frozen header rows to cover up part of the rows below in some circumstances.
  • Fixed a bug causing it to incorrectly parse some improperly formatted files in read-only mode.

Version 1.2.7

  • Fixed a bug with the Hide Empty Rows/Columns commands.

Version 1.2.6

  • Fixed a bug causing a crash when the user starts editing a cell with a non-Latin character.

Version 1.2.5

  • Open Recent Files: Changed the number of files to 50 and fixed a bug to ensure all files make the list.
  • Fixed a bug to ensure that when both row and column headers are frozen, the top left corner displays correctly.
  • Fixed a bug causing a crash when closing a folder on some conditions.
  • Minor bug fixes.

Version 1.2.4

  • Fixed stability issue with the new Stop Editing command when using large cells.

Version 1.2.3

  • Made alt+i/k/j/l work while editing a cell (move selection up, down, left, or right).
  • Added a command to stop editing. The default shortcut is ctrl+e for Windows and Linux, cmd+e for Mac.
  • Ensured that as filtered rows/columns are moved around, the filter definitions are updated to reflect the moves.
  • Renamed the Revert File to Saved command to Reload File.
  • Moved the Reload File with Delimiter and Reload File with Encoding commands under the File menu.
  • Improved performance/stability for opening large files.
  • Minor bug fixes.

Version 1.2.2

  • Fixed a bug causing it to erase File Extension Options between version upgrades.
  • Stability improvements.

Version 1.2.1

  • Windows: Enabled the user to type Unicode characters with alt+(Unicode decimal typed on keypad).
  • Fixed a bug causing the program to continue owning a file after disabling read-only mode.
  • Fixed a bug causing the context menu in the cell editor to not work correctly.
  • Fixed stability issues when opening empty files.
  • Fixed stability issues when deleting columns in special cases.
  • Fixed the Revert File to Saved command so it now reloads with the correct delimiter and encoding.
  • Minor bug fixes.

Version 1.2

  • Added delimiter auto-detection. It is optional and enabled by default.
  • Added ability to hide individual rows/columns or hide empty rows/columns.
  • Added the Remove All Filtered and Hidden Data command.
  • Improved the Split Cells Horizontally/Vertically commands. They can now be split with a delimiter or by character index. They will also now insert new rows or columns instead of overwriting old data.
  • Convert Date/Time Format: Added ISO 8601 with date only. Also, for custom formats, characters enclosed within double quotes will not be parsed.
  • Added a Zero-Fill Whole Numbers command.
  • Improved the performance for removing and inserting rows/columns.

Version 1.1.7

  • Enabled scrolling while editing a cell on the right side of the window.

Version 1.1.6

  • Improved international support- supports folder and file paths with non-ASCII characters.
  • Fixed shift-click on a row or column label so it will drag the row or column even if it wasn't selected before.
  • Windows portable: Fixed a bug so it now saves all the config files alongside the executable.
  • Fixed a bug with reading UTF-16 files.

Version 1.1.3

  • Made portable Windows version store config information alongside the executable.
  • Fixed a bug causing Replace All to not work correctly in some situations.
  • Linux: Fixed a problem in some distributions making the folder/file names unreadable in the Open File, Open Folder, and Save File dialogs.
  • Minor bug fixes.

Version 1.1.2

  • Fixed an intermittent stability issue in loading files of a certain size.

Version 1.1.1

  • If a row/column is selected and the user shift-clicks on another row/column, it will now select each row between it and the first row/column (inclusive).

Version 1.1

  • Added a Convert Date/Time Format command. It can now convert between ISO 8601, Excel, Unix Epoch, and custom formats.
  • When selecting cells, shift-click will now select the cells between the clicked cell and the main cell.
  • Added the ability to join or split cells with newline or tab characters.
  • Mac and Linux: Fixed a bug causing some text to be unreadable in the dark theme.
  • Bug fixes with the preference files.
  • Fixed a bug causing it to crash on some commands when operating on entire columns or rows.
  • Fixed a bug with Replace Next/Previous when the Match Only in Selected Cells option is set.

Version 1.0

  • Fixed bugs and improved functionality when filters are applied.
  • Fixed bugs and improved functionality when the table is transposed.
  • For any command that requires a location input (i.e. cell, row, or column), it will scroll to and highlight the location as the user types it in.
  • Added filter status to the status bar.
  • Made the launcher slightly transparent.
  • For highlighted cells, added red lines around the cell borders.
  • Set the default keyboard shortcut for the Transpose Table command to ctrl+alt+t (Windows, Linux) or cmd+alt+t (Mac).
  • Fixed a bug causing the Remove Empty Rows/Columns commands to not work correctly in some circumstances.
  • Fixed a bug causing it to not always load a file properly when there is no delimiter.
  • In read-only mode, the Transpose Table command and all the sort and filter commands now work (only for display. Changes can't be saved).
  • Fixed minor bugs with the replace feature.
  • Fixed minor bugs with the filters feature.
  • Fixed a few bugs causing it to show the wrong table dimensions in some circumstances.
  • Fixed a bug causing the minimum window width to be much larger than necessary.