📝

Select a Notebook to Convert

Drop your *.ipynb file here or click to browse

Converting a notebook to Markdown

Markdown export takes your notebook and turns it into a .md file. Markdown cells come through exactly as you wrote them. Code cells become fenced code blocks. Text outputs (things printed to stdout) get included as plain code blocks beneath the cell that produced them.

What's it good for?

The most common use is GitHub. A converted notebook makes a solid README.md or documentation page — GitHub renders the fenced code blocks with Python syntax highlighting, so the result looks clean without any extra effort. If you're using a static site generator like Jekyll, Hugo, or MkDocs, you can drop the .md file straight into your content folder.

It's also a cleaner format for version control. Notebook JSON is painful to diff because every run updates execution counts and embeds outputs as base64 blobs. A Markdown file gives reviewers something actually readable in a pull request. And for writing tutorials or blog posts — Hashnode, Dev.to, and Ghost all take Markdown — converting a notebook is faster than copying everything out by hand.

How to use it

  1. Upload your .ipynb file using the zone above.
  2. The conversion runs in your browser — no file is sent anywhere.
  3. Download the .md file or copy the content to your clipboard.

What gets converted and what doesn't

Markdown cells are preserved word for word. Code cells become ```python fenced blocks, with the language pulled from the notebook's kernel metadata. Printed text outputs come through as plain code blocks directly beneath the cell that produced them.

Images don't make it into the Markdown output. Embedding them would mean either inline base64 (which bloats the file and doesn't render well in most Markdown readers) or external hosting. If you need charts and plots preserved, the HTML export embeds them directly in the file instead.

Frequently asked questions

Yes. The output is standard CommonMark. Headings, lists, bold, italic, inline code, and fenced code blocks all render correctly on GitHub. The python language tag on code blocks triggers syntax highlighting automatically.

No, image outputs are skipped in the Markdown export. If you need the charts included, use the HTML converter instead. It embeds PNG and JPEG outputs directly into the file as data URIs, so everything is self-contained.

nbconvert does something similar but saves images as separate .png files alongside the .md. This tool keeps everything in one file (minus images) and runs in the browser, so nothing needs to be installed.

Yes, download the notebook as .ipynb from Colab (File → Download → Download .ipynb) or Kaggle and upload it here. Both use the same standard notebook format as Jupyter.

Other notebook tools

Need a different format?