DEV Community

Lawrence Lagerlof
Lawrence Lagerlof

Posted on

Stop copy-pasting tables from websites: This Firefox and Chrome extension does it better

How many times have you found yourself manually copying data from a website table, cell by cell, into a spreadsheet or trying to format it for documentation? If you're a developer, researcher, or anyone who works with data, you've definitely been there.

I built Website Table Exporter to solve this exact problem. It's a Firefox extension that automatically detects HTML tables on any website and adds export buttons right where you need them.

Website Table Exporter in action

The Problem

Whether you're:

  • πŸ“Š Analyzing competitor pricing tables
  • πŸ“ Documenting API responses in Markdown
  • πŸ” Researching data from academic databases
  • πŸ§ͺ Testing with realistic datasets
  • πŸ“ˆ Building dashboards with real-world data

...you've probably wasted hours manually reformatting table data. Most websites don't provide export functionality, and browser dev tools aren't exactly user-friendly for this.

The Solution

Website Table Exporter automatically adds three export buttons to every HTML table you encounter:

πŸ—‚οΈ CSV Export

Perfect for spreadsheet analysis. Headers are quoted, numeric data stays numeric:

"Product","Price","Stock"
"Laptop",899,15
"Mouse",25,42
"Keyboard",75,28
Enter fullscreen mode Exit fullscreen mode

πŸ”§ JSON Export

Ideal for developers. Maintains proper data types:

[
  {
    "Product": "Laptop",
    "Price": 899,
    "Stock": 15
  },
  {
    "Product": "Mouse", 
    "Price": 25,
    "Stock": 42
  }
]
Enter fullscreen mode Exit fullscreen mode

πŸ“ Markdown Export

Great for documentation and README files:

| Product | Price | Stock |
| --- | --- | --- |
| Laptop | 899 | 15 |
| Mouse | 25 | 42 |
| Keyboard | 75 | 28 |
Enter fullscreen mode Exit fullscreen mode

Smart Features That Actually Matter

🧠 Intelligent Data Type Detection: The extension analyzes each column to determine if it contains numeric data, preserving data types in JSON and avoiding unnecessary quotes in CSV.

⚑ Dynamic Table Support: Works with JavaScript-generated tables and SPAs. The extension uses a MutationObserver to detect tables added after page load.

πŸŽ›οΈ Toggle Control: Hide/show buttons across all pages with the popup. Perfect when you need a clean view.

⚠️ Merged Cell Warnings: Alerts you when tables contain merged cells that might affect export quality.

πŸ”’ Privacy-First: Only requires activeTab and clipboardWrite permissions. No data collection, everything stays local.

Installation

Top comments (0)