converters · · Updated
Extract Meta Tags and Tables From HTML (to CSV or Excel)
By Chirag
Two kinds of useful data sit inside a page's HTML where you can't easily see them. The <head> holds the tags that decide how the page appears in search results and when someone shares the link. The body often holds a <table> you'd rather have in a spreadsheet. Both are quick to extract, but on a JavaScript-rendered site you first have to pick the right copy of the HTML: the one the server sent, or the one the browser built after running scripts.
Why these tools take pasted HTML, not a URL
A web page can't fetch another site's HTML and read it unless that site explicitly allows it (the browser's CORS rules). Tools that accept a URL fetch it on their own server, which means your request, and whatever the page contains, passes through that server. Pasting the source keeps everything in your browser, and it also works for pages that aren't public yet: staging sites, intranet pages, or a page behind a login.
The trap: View Source vs. what the browser rendered
There are two different "sources" of a page:
- View Source (Ctrl+U, or Cmd+Option+U on a Mac) shows the HTML the server sent.
- The rendered DOM (DevTools → Elements → right-click the
<html>element → Copy → Copy outerHTML) shows the page after JavaScript has run.
On a JavaScript-rendered site (React, Vue or Angular without server rendering), meta tags are often inserted by JavaScript after the page loads. View Source then shows a generic title and no description at all, while the rendered DOM shows the real tags. Which one matters depends on who's reading:
- Social previews. The crawlers behind WhatsApp, Facebook, LinkedIn and X link previews generally read the HTML as sent, without running JavaScript. Tags that only exist after rendering won't show up in the preview. So paste View Source when checking social tags.
- Google renders JavaScript, but a tag present in the initial HTML is still the more reliable signal.
This site is a React app, and that's exactly why its pages are prerendered into static HTML at build time. Every tag is in the source a crawler receives.
A meta-tag checklist
Paste the source into the HTML Meta Tag Extractor. It lists the title, meta description, canonical link, every og: and twitter: tag, and any other named meta tags such as robots and viewport. Then check:
- One title, specific to the page. Search results truncate by pixel width, roughly 50–60 characters.
- A description of about 150–160 characters that says what's on this page, not a sitewide slogan.
- A canonical URL that's absolute, points to the page itself, and returns 200. A canonical that redirects is a mixed signal. To check, paste the extracted canonical into the address bar: if the browser ends up on a different URL, that final URL is the one the tag should hold.
- `og:image` as an absolute URL (
https://…/og.png, not/og.png). Many preview crawlers ignore relative image paths. A September 2026 audit of this site found its ownog:imagewas relative on every page. Images around 1200 × 630 pixels suit large link previews. - `og:url` matching the canonical, and
og:title/og:descriptionpresent. - `twitter:card` set (
summary_large_imagefor a big image). X falls back to theog:tags for the title, description and image whentwitter:versions are missing. - No stray `noindex`. The extractor lists a
robotsmeta tag if there is one. Anoindexleft over from a staging environment keeps a page out of search results, and nothing on the page itself looks wrong.
Pulling a table into a spreadsheet
Copying a rendered table straight from a browser into Excel works for simple tables and falls apart with merged cells. This table has both a row-spanning and a column-spanning header:
<table>
<tr><th rowspan="2">Region</th><th colspan="2">Q1 2026</th></tr>
<tr><th>Jan</th><th>Feb</th></tr>
<tr><td rowspan="2">West</td><td>1,200</td><td>1,350</td></tr>
<tr><td>980</td><td>1,010</td></tr>
<tr><td>North</td><td>760</td><td>805</td></tr>
</table>The HTML Table to CSV and HTML Table to Excel tools expand every merged cell, repeating its text across the positions it covers, so each value stays in its real column:
| Region | Q1 2026 | Q1 2026 |
|---|---|---|
| Region | Jan | Feb |
| West | 1,200 | 1,350 |
| West | 980 | 1,010 |
| North | 760 | 805 |
Repeating "West" on both rows is what makes the result usable. You can filter by region or build a pivot table without filling the gaps by hand first. Delete the extra header row if you only need the month names.
A few more details:
- Only the first `<table>` in the pasted HTML is read. To extract a different one, paste just that table's markup (in DevTools, right-click the
<table>element → Copy outerHTML). - Cells become plain text. Links keep their text, images disappear, and runs of whitespace collapse to single spaces. A table nested inside a cell contributes its text to that one cell.
- The Excel version types the values. In the .xlsx output,
1,200becomes the number 1200, so sums work immediately. Text such as₹499stays text, codes with leading zeros such as004102keep them, and ISO dates become real Excel dates. The CSV output keeps every cell exactly as it appeared on the page.
Pick CSV when the data is going into a script or another import. Pick Excel when a person will sort, total, or chart it.
Related guides
- On-Page SEO Basics: Meta Tags, Robots.txt, and Favicons · The technical basics that decide how a page appears in search and link previews: title, description and canonical tags, what robots.txt can and can't do, and the favicon sizes search engines actually use.
- How Accurate Is Browser OCR? 14 Test Images, Measured · The same invoice line rendered 14 ways (small text, blur, tilt, low contrast, a busy background, JPEG artifacts, Hindi, two columns) and run through this site's OCR, with the accuracy of each and the three fixes that took the average from 88.5% to 99.5%.
- How to Compress Images Without Visible Quality Loss · Why resizing beats lowering quality, how to find the lowest quality setting that still looks right, when PNG compression can make a file bigger, and what happens to EXIF location data along the way.