The fastest way to view local .csv files by turning your Chrome browser into a high-performance data viewer.
When you double-click a CSV file, your computer launches a slow, heavy application like Excel or Numbers. For developers, data analysts, and anyone who just needs a "quick look" at tabular data, this process is overkill and breaks your workflow. Your browser is already open and is far more lightweight.
CSV QuickView transforms this cumbersome process into a seamless, automatic, one-click viewing experience.
- ⚡ Instantaneous Loading: Opens even massive CSV files (100,000+ rows) in a flash thanks to a high-performance virtualized rendering engine.
- 💻 Seamless OS Integration: After a one-time setup, Chrome becomes your computer's default CSV viewer. Just double-click any
.csvfile. - 📊 Modern, Readable UI: A clean, spacious table powered by Bulma CSS. Includes automatic Dark Mode support for comfortable viewing, day or night.
- -↔- Powerful Analysis View: Both the table header and the first column are locked ("sticky"), so you always have context while scrolling through large datasets.
- ✅ Robust Parsing: Correctly handles complex CSVs with quoted fields, commas within data, and various line endings.
- 🔒 Lightweight & Secure: Built with zero external JavaScript libraries and uses the minimum required permissions to get the job done.
- Install from the Chrome Web Store: [Coming Soon]
- Grant Permissions: The first time you open a local CSV, you may be guided to the setup page.
- Go to
chrome://extensions. - Find CSV QuickView and turn on the "Allow access to file URLs" toggle. This is a required security step that allows the extension to read the files you open.
- Go to
- Set as Default (Recommended):
- Windows: Right-click any
.csvfile >Properties>Opens with:> ClickChange...> Select Google Chrome. - macOS: Right-click any
.csvfile >Get Info>Open with:> Select Google Chrome > ClickChange All....
- Windows: Right-click any
Now, simply double-click any CSV file on your computer to open it instantly in the browser.
We welcome contributions! This guide will help you get the development environment set up.
After several iterations, we arrived at a robust architecture that respects Chrome's security model (Manifest V3).
- Intercept: The
background.jsservice worker uses thechrome.webNavigation.onBeforeNavigateAPI to detect when the user is trying to open afile://.../*.csvURL. - Redirect: It immediately redirects the tab to a local page within the extension:
viewer.html. The originalfileUrlis passed along as a URL query parameter. - Fetch & Render: The
viewer.jsscript, running on the trusted extension page, then uses thefetch()API to read the contents of thefileUrl. Because the user has granted file access and the request originates from an extension page withhost_permissions, this call succeeds. - Display: The fetched text is parsed and rendered into the high-performance virtualized table.
This model is secure, reliable, and avoids the race conditions and security errors encountered in earlier architectural attempts.
- Clone the repository:
git clone https://github.com/your-username/csv-quickview.git
- Open Chrome and navigate to
chrome://extensions. - Enable "Developer mode" using the toggle in the top-right corner.
- Click the "Load unpacked" button.
- Select the root directory of the cloned project (
/csv-quickview-extension). - The extension is now installed locally. Remember to grant it "Allow access to file URLs" permission on the extensions page.
/csv-quickview-extension
|-- /css
| |-- bulma.min.css (UI Framework)
| |-- main.css (Custom styles, sticky columns, dark mode)
|-- /icons
| |-- icon16.png
| |-- icon48.png
| |-- icon128.png
|-- /js
| |-- background.js (Intercepts navigation)
| |-- help.js (Powers the setup/help page)
| |-- viewer.js (Fetches, parses, and renders the CSV)
|-- help.html (First-run setup and popup page)
|-- viewer.html (The page that hosts the rendered table)
|-- manifest.json (Core extension configuration)
We have successfully completed the v1.0 MVP! Here's what's planned next:
- v1.1: Column Sorting, Row Filtering (search box).
- v1.2: Add support for remote CSV files (from
https://URLs). Add a UI to select delimiters (comma, tab, semicolon). - v2.0: Charting/graphing capabilities, advanced data analysis features.
This project is licensed under the MIT License. See the LICENSE file for details.