Google Sheets Range to CSV
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Google Sheets Range to CSV is a browser extension that automatically scans the current webpage for Google Sheets grid data, table elements, spreadsheet cells, and range selections. It detects table and spreadsheet elements by examining class names, IDs, data attributes, and HTML structure for keywords like "waffle", "grid", "spreadsheet", "sheet", "table", and grid roles. The extension adds a floating "export to CSV" button (📊) next to each detected table or spreadsheet element, allowing you to extract tabular data with a single click. Clicking the button opens a panel where you can preview the extracted data, choose whether to include headers, enter a range name, add notes about the data source or export purpose, and copy the data to your clipboard as CSV or download it as a CSV file. The extension maintains a CSV export database per range with export history, notes, and tags for each exported dataset. The main panel displays all saved exports, showing the range name, row and column counts, entry count, and latest note. All data is stored locally in your browser using GM_setValue, ensuring your export history persists across page reloads and browser sessions. This helps data analysts, spreadsheet users, finance professionals, and anyone working with tabular data to quickly extract Google Sheets ranges and table data for analysis, reporting, or import into other systems.
WHERE IT RUNS
This extension runs on any webpage that displays table data, Google Sheets grids, spreadsheet cells, or tabular information – including Google Sheets (sheets.google.com), web-based spreadsheet editors, data tables, reporting dashboards, and any page containing structured tabular data. The extension intelligently adapts to different page structures and supports a wide range of common table and spreadsheet display patterns. No manual configuration is required per site; the extension automatically detects table elements using a flexible pattern matching system that recognizes both HTML tables and Google Sheets grid structures. This makes it ideal for anyone who regularly needs to extract data from spreadsheets or tables.
HOW TO USE
Simply install the extension and navigate to any webpage displaying a table, spreadsheet, or grid data. The extension automatically detects table elements and places a small "export to CSV" button (📊) next to each one. Click any of these buttons to open the export panel with the table data pre-extracted. Preview the data in the panel to verify it's correct. Choose whether to include headers in the CSV output. Enter a range name to identify the data (e.g., "Sheet1!A1:C10"). Add notes about the data source, export purpose, or any other relevant detail. Click "Copy CSV to Clipboard" to copy the CSV data directly, or "Download as CSV File" to save it as a .csv file. The export is automatically saved to your local history. A floating button (📈) appears in the bottom-right corner of the page – click this to open the main panel. The main panel shows all saved CSV exports, sorted by most recent entry, with range name, row/column counts, entry count, and latest note displayed. Use the settings section to enable or disable auto-detection and choose whether to include headers by default. The "Clear All Exports" button removes all tracking data when needed.
ONE TECHNICAL SECTION – WHY IT WORKS
The extension employs a multi-layered detection system that identifies table and spreadsheet data with high accuracy. First, it scans the DOM using a comprehensive set of CSS selectors targeting common table-related elements including HTML tables, Google Sheets grid containers (waffle-grid), and elements with grid or table roles. Second, the data extraction algorithm recursively scans table structures, capturing both header rows (using thead and th elements) and data rows (using tbody and td elements). For Google Sheets grids, the extension identifies rows and cells using class-based patterns (waffle-row, waffle-cell) and div-based grid structures. The CSV conversion handles proper escaping of values containing commas, quotes, and newlines. The extension builds a complete CSV string with optional headers. Each exported dataset is stored with its headers and data rows, enabling history tracking and future re-export. A MutationObserver detects dynamic content updates and re-scans only when new table elements appear, balancing real-time accuracy with system performance.
THE PANEL – DRAG / PER-SITE POSITION / SNAP / COLLAPSE / RESIZE / ESCAPE
The CSV export panel includes a draggable title bar, allowing you to position it anywhere on screen for convenient access during data extraction. The extension remembers your preferred position per website, so the panel opens in the same location each time you return to that domain. The panel supports snap-to-edge behavior – when dragged near screen edges, it gently snaps into place for a tidy workspace layout. You can collapse the panel down to just its title bar by clicking the collapse button, keeping it accessible without taking up screen space. The data preview and export options are contained within a scrollable body, ensuring all content remains accessible even on smaller screens. Pressing the Escape key closes the panel instantly, returning you to your data analysis workflow.
PLEASE NOTE
This extension requires the free BotGentz extension to be installed and enabled, as it relies on BotGentz's userscript injection and GM_* API shims for cross-browser compatibility. Websites frequently update their HTML structures and class names, which may cause table detection to break temporarily – we actively maintain the matching patterns and release updates regularly. The extension stores all CSV export data, headers, and notes exclusively in your local browser storage (GM_setValue); no data is ever transmitted to any external server or third party. You are responsible for backing up your CSV export data if you switch browsers or clear your storage. The extension does not read, modify, or interfere with any spreadsheet data, Google Sheets functionality, or site operations – it operates solely on the static page content and stores only metadata (range names, headers, data rows, and notes) that you explicitly create. Use this tool responsibly for personal and professional data extraction purposes.