# [OSS Review] Defuddle

This article shares my research findings on an OSS library used in [Giselle](https://github.com/giselles-ai/giselle). While originally written as an internal memo, I've structured it to be helpful for other developers considering similar OSS adoption decisions.

## 1\. Overview of Defuddle

* **Name:** [Defuddle](https://github.com/kepano/defuddle)
    
* **Summary:** Defuddle is a JavaScript/TypeScript library that extracts the main content from web pages and returns a cleaned, standardized document. It removes clutter like navigation, headers, and comments to provide consistent HTML or Markdown output, serving as a modern, metadata-aware alternative to Mozilla Readability.
    
* **Core Features:**
    
    * Extracts main article content and cleans up surrounding clutter (ads, headers, footers).
        
    * Standardizes common elements like headings, code blocks, footnotes, and math into a consistent format.
        
    * Extracts rich metadata including title, author, publish date, hero image, and [schema.org](http://schema.org) data.
        
    * Supports both browser and Node.js environments and can convert the final output to Markdown.
        

## 2\. About the Organization: kepano

* **GitHub Org / Maintainers:** [kepano (Steph Ango)](https://github.com/kepano)
    
* **Summary:** Defuddle is maintained by Steph Ango (@kepano), an active open-source developer known for creating the popular "Minimal" theme and several plugins within the Obsidian ecosystem. His work focuses on tools for thought, content extraction, and user interface design.
    
* **Development Activity:** The project is actively maintained with frequent releases (latest is 0.6.6 as of August 2025). It has a healthy number of stars (~2.8k), a growing contributor base, and is a core dependency of the official Obsidian Web Clipper.
    

## 3\. Software License: MIT

* **License:** `MIT`
    
* **Notes:** The MIT License is permissive, allowing for commercial use, modification, and distribution with very few restrictions. It is generally compatible with both open-source and proprietary projects, requiring only that the original copyright and license notice be included in copies of the software.
    

## 4\. Key Use Cases & Examples

* **Major Use Cases:**
    
    * **Obsidian Web Clipper:** Defuddle is the core extraction engine for the official Obsidian Web Clipper, used to capture and clean web articles for personal knowledge management.
        
    * **defuddle-cli:** A companion command-line tool enables using Defuddle in batch processing, data pipelines, and server-side automation without writing application code.
        
* **Potential Applications:**
    
    * Building "read-it-later" services or "reader mode" features in applications.
        
    * Pre-processing web content for ingestion into RAG (Retrieval-Augmented Generation) pipelines, summarization tools, or search indexes.
        
    * Archiving web pages in a clean, standardized, and durable format.
        
* **Example Usage in Giselle:**
    
    * [Add WebPage node by toyamarinyon · Pull Request #1027 · giselles-ai/giselle](https://github.com/giselles-ai/giselle/pull/1027)
        

## Reference

* GitHub: [https://github.com/kepano/defuddle](https://github.com/kepano/defuddle)
    
* OSSInsight: [https://ossinsight.io/analyze/kepano/defuddle](https://ossinsight.io/analyze/kepano/defuddle)
    
* Obsidian Web Clipper: [https://help.obsidian.md/web-clipper/troubleshoot](https://help.obsidian.md/web-clipper/troubleshoot)
    
* Defuddle CLI: [https://github.com/kepano/defuddle-cli](https://github.com/kepano/defuddle-cli)
    

*This article was written with the help of* [*giselles.ai*](http://giselles.ai)*.*
