Yomi: The Effortless Way to Transform Any Web Page into Clean Markdown
If you've ever tried extracting text from a web page programmatically, you know the struggle. HTML is messy, cluttered with navigation menus, ads, cookie banners, and all sorts of noise that has nothing to do with the actual content you want. Parsing this chaos and extracting what matters is exactly the problem Yomi sets out to solve.
What Makes Yomi Stand Out?
Yomi is a Go library and CLI tool that transforms any URL into beautifully clean Markdown. But it's not just another half-baked scraper. The project takes a thoughtful approach to content extraction, intelligently stripping away the cruft while preserving the structure that matters.
The key features that caught my attention:
Smart Content Extraction — Yomi doesn't just grab all the text it finds. It intelligently identifies the main content area of a page, filtering out navigation bars, footers, sidebars, and those annoying overlay popups we all love to hate.
Full Structure Preservation — When you need to convert a tutorial, documentation page, or technical article, code blocks matter. Yomi keeps your code formatting intact, preserves images with their alt text, and maintains heading hierarchies. What you get out is a properly structured Markdown document that actually looks like the original.
Website-Wide Conversion — Sometimes you don't just want one page. Yomi can recursively follow links and convert entire websites, making it perfect for creating local backups of documentation or building content archives.
Real-World Use Cases
This tool opens up some compelling possibilities:
Documentation Pipelines — Building a documentation aggregator or need to pull content from external sources into your knowledge base? Yomi makes it straightforward to fetch and convert web content into a consistent format.
Offline Reading — Creating an offline archive of articles, tutorials, or research materials? Convert web pages to Markdown and store them in Git, Obsidian, or any flat-file system.
Content Migration — Moving content between platforms often means dealing with messy HTML exports. Pipe that content through Yomi to get clean Markdown you can work with.
Archival Purposes — Websites disappear all the time. Using Yomi to create structured backups of valuable web resources gives you portable, readable archives that won't break when the original goes offline.
A Developer's Tool at Heart
What I appreciate about Yomi is that it's designed for developers first. The dual library-and-CLI approach means you can either integrate it directly into your Go applications or use it as a command-line utility in scripts and build pipelines.
The library API is straightforward, letting you focus on what you want to do with the content rather than getting bogged down in extraction logic. The CLI makes it equally accessible for quick one-off conversions or shell script automation.
Getting Started
Yomi is open source under the MIT license and written in Go, which means it runs everywhere Go runs with zero additional dependencies for the core functionality. The repository at tamnd/yomi has everything you need to get started, whether you're importing the library into your project or running quick conversions from the terminal.
The Bottom Line
Web content extraction doesn't have to be complicated. Yomi provides a focused, well-designed solution for the specific problem of converting web pages to clean Markdown. Whether you're building content tools, creating archives, or just need to grab some content for processing, this is the kind of utility that makes you wonder how you ever got by without it.
Give it a try on your next project where web content conversion comes up — chances are, Yomi will save you a significant amount of time and frustration.