← ceesaxp.github.io
🦆

Gridka

A blazing-fast native macOS CSV viewer powered by DuckDB. Opens files of any size with instant scrolling, sorting, filtering, and search.

Swift 5.10 macOS 14+ MIT License

🤔 Why Gridka?

Most CSV tools either choke on large files (Excel, Numbers), consume absurd memory (Electron apps), or lack a GUI entirely (csvkit, xsv).

Gridka uses DuckDB's analytical engine behind AppKit's NSTableView to handle 100M+ row files while staying under 500 MB RAM. Every sort, filter, and search is a SQL query. DuckDB does the heavy lifting.

Single-process Swift app. No IPC, no Electron, no web views. Just your Mac doing what it's good at.

Features

📂 Open any CSV/TSV
Auto-detects delimiter, encoding, headers, and column types. Just drop your file and go.
⚡ Virtual Scrolling
60 fps at any file size — only visible rows are in memory. Scroll through millions of rows like butter.
🔄 Column Sorting
Click to sort, Shift+click for multi-column sort. Type-aware ordering for text, numbers, and dates.
🔍 Filtering
Type-aware filters per column — text, numeric, date, and boolean operators. Narrow down millions of rows instantly.
🔎 Global Search
Cmd+F to search across all columns with match highlighting. Find next/previous with Cmd+G.
📊 Column Management
Resize, reorder, hide/show, pin, and auto-fit columns. Your view, your layout.
🔬 Cell Inspection
Detail pane for long text, URLs, and JSON content. No more squinting at truncated cells.
✏️ Cell Editing
Double-click to edit, save back to CSV. Quick fixes without leaving the app.
📑 Multi-Tab
Open multiple files in tabs within a single window. Compare datasets side by side.
👁️ Quick Look
Preview CSV files right in Finder via the Quick Look extension. Press Space, see data.

⌨️ Keyboard Shortcuts

ShortcutAction
⌘OOpen file
⌘WClose tab
⌘FToggle search bar
⌘G / ⇧⌘GFind next / previous
⌘CCopy cell value
⇧⌘CCopy entire row
⇧⌘DToggle detail pane
Click headerSort ascending / descending / clear
Shift+click headerMulti-column sort
Right-click headerFilter / hide column
Double-click dividerAuto-fit column width
Drag & dropOpen CSV by dragging onto window

📦 Installation

🍎 Mac App Store

Coming soon — awaiting approval.

📥 Direct Download

Grab the latest .zip from GitHub Releases, unzip, and drag to /Applications.

Latest Release →

🔨 Build from Source

Requires macOS 14+, Xcode 15+, Swift 5.10+, and XcodeGen.

git clone https://github.com/Ceesaxp/gridka.git cd gridka xcodegen generate xcodebuild -scheme Gridka -configuration Release build

🏗️ Architecture

Single-process Swift app with DuckDB embedded via C API (static library). No IPC, no Electron, no web views.

Every user interaction — sort, filter, search — translates to a SQL query executed against DuckDB's in-process analytical engine. The result set is streamed through a row cache into AppKit's native NSTableView.

User interaction → ViewState mutation → SQL generation → DuckDB query → NSTableView reload