#medium #blog #cli-parser #markdown-parser #parser #cli

app medium-to-markdown

A tool to parse medium blogs to markdown files

3 releases

new 0.1.2 May 30, 2024
0.1.1 Apr 15, 2024
0.1.0 Apr 15, 2024

#345 in Command line utilities

Download history 251/week @ 2024-04-15 9/week @ 2024-04-22 13/week @ 2024-05-20 157/week @ 2024-05-27

170 downloads per month

GPL-2.0-or-later WITH Bison-exception-2…

222 lines

Medium to Markdown Parser and CLI Tool

This Rust utility converts Medium blog posts into Markdown format, enabling users to preserve their content independently of centralized platforms. With this tool, you can safeguard your blog posts against potential risks associated with platform changes or shutdowns.

Medium provides a convenient platform for hosting blogs and reaching a wide audience. However, relying solely on Medium for content hosting carries risks. If Medium were to go down or change its policies, the hard work of blog writers would be at risk. To mitigate this risk, this project aims to provide a simple yet effective tool for converting Medium blog posts into Markdown format.


  • Headings (H1)
  • SubHeadings (H2)
  • Paragraphs (p)
  • Inline Tags this (code)
  • Code Blocks : Ctrl + Alt+6 The ones where you read code (pre)
  • Images (source)
  • Line Breaks (br)
  • Bold (b,strong), Italics (i)
  • Lists (li)


Install directly from cargo.

cargo install medium-to-markdown


The command-line interface (CLI) accepts a Medium blog post URL and a filename as input and generates the Markdown content.

medium-to-markdown <URL> <file_name>

Replace with the URL of the Medium blog post you want to convert, and <file_name> with the desired filename for the Markdown output.


medium-to-markdown https://medium.com/@harshiljani2002/building-stock-market-engine-from-scratch-in-rust-i-9be7c110e137 blog_post.md

Developer Setup

To set up the project, follow these steps:

  1. Clone the repository:
git clone https://github.com/Harshil-Jani/medium-to-markdown.git
  1. Install Rust and Cargo if you haven't already.

  2. Navigate to the project directory:

cd medium-to-markdown
  1. Build the project:
cargo build --release


The project includes unit tests to ensure the correctness of the parser. To run the tests, use the following command:

cargo test


Contributions to this project are welcome. If you encounter any issues or have suggestions for improvements, feel free to open an issue or submit a pull request on GitHub.


~307K SLoC