Convertir texto a markdown: como lo hago desde el navegador (y cuando no funciona)
Spent about three weeks converting pages to Markdown as part of my daily work: feeding documentation into Claude, pulling support threads into ChatGPT, dumping internal wiki pages into Cursor as context. Along the way I tried most of the obvious tools. This post is the honest version of what I learned, including the parts where my own extension is the wrong answer.
A note on language: the search term that brought you here is Spanish, but this post is in English. If that is a problem, the short Spanish summary is at the bottom.
What "convert text to markdown" actually means in practice
There are two very different jobs hiding behind the same phrase.
Job one: you already have the text. You copied a paragraph, or you have a block of plain text, and you want headings, lists, and links formatted properly. This is a formatting task. A text editor with a Markdown preview handles it. So does pasting into any chat model and asking.
Job two: you have a web page and you want its content as Markdown. This is the hard one, and it is what most people actually mean. The page has navigation, cookie banners, three ad slots, a newsletter popup, and somewhere in the middle, the 900 words you care about. Converting that to Markdown means extracting first, then formatting.
Job two is where tools differ enormously, so that is what I tested.
The test: four tools, same five pages
I picked five pages that represent what I actually convert:
- A public MDN documentation page
- A Substack post behind a free-but-email-required wall
- A Notion page in my own workspace (logged in)
- A GitHub issue thread with 40 comments
- A news article with an aggressive cookie modal
Tools: Jina Reader, Firecrawl, MarkDownload, and Web2MD (my own, so read that section with appropriate suspicion).
Jina Reader
Prefix any URL with r.jina.ai/ and you get Markdown back. It is genuinely elegant and I still use it. Free tier works without a key, output quality on public pages is good, and it is scriptable in one line of curl.
Where it stopped: pages 2, 3, and partly 5. Jina fetches the URL from its own servers, so it sees what an anonymous visitor sees. My Notion page came back as a login screen. The Substack post returned the teaser. That is not a bug, it is the architecture.
Firecrawl
Firecrawl is the most capable of the four if your problem is scale. It crawls whole sites, handles JavaScript rendering well, and the structured-extraction features are real. If I needed 500 pages of a documentation site as Markdown, I would reach for Firecrawl and not think twice.
Where it stopped: same wall on authenticated pages unless you configure session headers, which is real work. And it needs an API key with a credit balance. For "I want this one page, now," it is more machinery than the task deserves.
MarkDownload
This one is the closest comparison, because it is also a browser extension and also open source. It uses Readability plus Turndown, which is a solid combination. Free, no account, and it handles the auth problem by definition since it runs in your browser.
Where I diverged from it: no token count, and the send-to-AI step is manual. Those two things sound small until you do the loop thirty times a day.
Web2MD
Mine. Chrome only. Three conversions a day on the free tier, $9/month for unlimited.
It runs entirely in the page, which means the Notion page and the Substack post converted fine. Here is the actual output from the GitHub issue test, trimmed:
# Memory leak in watcher when using symlinked directories
**Status:** Open | **Labels:** bug, needs-repro
## Original report
When `watch: true` is set and the target directory contains a
symlink pointing outside the project root, RSS grows by roughly
4 MB per rebuild and is never reclaimed.
Steps to reproduce:
1. `mkdir -p /tmp/outside && ln -s /tmp/outside ./src/linked`
2. Run `npm run dev`
3. Touch any file in `src/` ten times
4. Observe `process.memoryUsage().rss`
## Comment from maintainer
> Confirmed on 4.2.1. The `fs.watch` handles for resolved
> symlink targets are added to the registry but the cleanup
> path only walks the logical tree.
Related: #1182, #1190
That is clean enough to paste straight into a model. Nested blockquotes survived, the ordered list survived, cross-references stayed as plain text rather than becoming forty relative URLs.
The part that changed how I work: the token counter
Every conversion shows the token count before you copy. Not an estimate based on character division, an actual count.
This sounds like a minor convenience. It is not. Before I had it, my loop was: convert, paste into Claude, get told the context is too long, go back, cut something arbitrary, try again. Now I see "18,400 tokens" and immediately know that page needs trimming before it goes anywhere near a conversation I want to keep going.
A second example, this time a documentation page, showing what table handling looks like:
## Request parameters
| Parameter | Type | Required | Description |
| --------- | ------ | -------- | ------------------------------ |
| `query` | string | yes | Search term, max 200 chars |
| `limit` | number | no | Results per page. Default 20 |
| `cursor` | string | no | Opaque pagination token |
### Notes
- A `limit` greater than 100 is silently clamped to 100.
- Cursors expire after 15 minutes.
Tables are where a lot of converters fall apart, usually by flattening everything into a single run-on line. Keeping pipe tables intact matters because models read them as tables.
Honest limits
I would rather you find these out here than after installing.
Chrome only. No Firefox, no Safari. Chromium-based browsers like Edge and Brave work, but that is the full list.
Three conversions a day free. It resets at midnight local time. If your use is occasional, that is genuinely enough. If you are converting a dozen pages a day, you will hit the wall and you should either pay the $9 or use MarkDownload, which is free and unlimited.
No crawling. One page at a time, the page you are looking at. If you need a whole site, Firecrawl is the correct tool and I will not pretend otherwise.
Heavy canvas or WebGL pages produce nothing useful. If the content is drawn rather than marked up, there is no DOM to convert. Same limitation every DOM-based tool has.
No API. It is an extension. If you want conversion inside a script, use Jina or Firecrawl.
A decision rule
After all this, here is how I actually choose:
- Public page, want it in a script → Jina Reader
- Many pages, need a pipeline → Firecrawl
- Logged-in, paywalled, or behind an email wall → browser-side, so Web2MD or MarkDownload
- Need the token count before you paste → Web2MD
- Converting constantly and want it free forever → MarkDownload
The honest summary of my own advantage is narrow: it is the auth case plus the token counter plus the one-click send. If none of those three matter to you, the free alternatives are fine and I would use them too.
Resumen en espanol
Si lo que buscas es convertir una pagina web a Markdown limpio para pegarla en ChatGPT o Claude: las herramientas que funcionan desde un servidor (Jina Reader, Firecrawl) son excelentes para paginas publicas, pero no pueden ver paginas que requieren login ni contenido detras de un muro de pago. Las extensiones de navegador si pueden, porque usan tu sesion. Web2MD hace eso, cuenta los tokens antes de copiar, y tiene 3 conversiones gratis al dia. Solo Chrome. Si necesitas conversiones ilimitadas y gratis, MarkDownload es una buena alternativa.
If the auth case is your case, Web2MD is free to try for three pages a day, no account and no API key. If it does not fit, one of the other four probably does, and this post was written so you could tell which.
Related Articles
How to Convert PPTX to Markdown (What Actually Works in 2026)
To Markdown: How I Convert Any Web Page for AI Tools (2026 Guide)
Video to Markdown: What Actually Works (and What Doesn't)
Most Read
last 30 days- #1Can Claude Read Reddit? Why It Can't — And How to Fix It (2026)
- #2HTML vs Markdown for LLMs: I Wasted 67% of My Tokens for a Year
- #3Reducing Token Waste in ChatGPT and Claude: 7 Techniques That Cut Costs 72%
- #4Obsidian Web Clipper Official Plugin 2026: Complete Guide + When You Need More
- #5Reddit JSON API vs Scraping: The Honest 2026 Comparison for Developers
Latest Articles
- 2026-11-07AI Markdown: How I Turned Any Web Page Into Clean Context for ChatGPT and Claude
- 2026-11-07How to Convert PPTX to Markdown (What Actually Works in 2026)
- 2026-11-07To Markdown: How I Convert Any Web Page for AI Tools (2026 Guide)
- 2026-11-07Video to Markdown: What Actually Works (and What Doesn't)
- 2026-11-07Which ChatGPT Model Uses Less Tokens? I Tested 5 Models on the Same Page