Free and open source · MIT 2.0.1What's new

Turn lecture videos into illustrated notes

Every lecture you've watched, ready to flip through again

course2md turns a whole lecture into an illustrated handout: a screenshot each time the slide changes, with what the lecturer said about it underneath. For YouTube and Bilibili videos, every section links back to that moment.

A screenshot of every slide, with what was said underneath.

Reviewing online courses Self-study with open courseware Talks and lab-meeting recordings
Apple Silicon · macOS 15 or later · also available via Homebrew Intel Mac? Use the command-line version
Sample lecture
Title slide of the sample lecture: Eigenvalues and Eigenvectors Eigenvalues and Eigenvectors00:00
Slide with a chart of power iteration converging Power iteration29:50
Slide showing a matrix transforming a grid of vectors

“But look at v, which points along the diagonal. After the transformation it is still on the same dashed line.”

Scroll to watch one lecture become notes

Sample lecture · Linear Algebra: Eigenvalues and Eigenvectors

The sample lecture was made for this page; its channel and video are fictional.

course2md Home with a previewed video and its processing options

From “I watched it” to “I can use it”

Subtitles first

When a video already has subtitles, they're used directly; no speech recognition needed.

Slides and explanation, together

Slides alone don't explain the derivation, and subtitles alone have no pictures. Here every screenshot sits right above what the lecturer said about it.

Formulas, typeset

With AI on, formulas, even spoken ones, are written as LaTeX and typeset. Copying a passage keeps each formula's LaTeX.

Bilingual notes

AI can add a translation under every paragraph, in any of eight languages.

Your AI, or none

Use any OpenAI-compatible service, a local Ollama server or your ChatGPT subscription. Off until you turn it on.

Queue up a whole course

Pick several parts of a multi-part Bilibili video or a playlist at once. Tasks run in the background; pause, resume or reorder them.

Your notes, your files

Plain Markdown with screenshots, in a library on your computer with nested folders and title search. Export a web page any time. No account needed.

Made to fit

Ten light and dark themes, adjustable text size, and English, 简体中文, 繁體中文 or 日本語.

More of the app

Library with a folder tree and note cards
LibraryNested folders, drag and drop, and search across subfolders.
Tasks page with a conversion in progress
TasksPause, resume and reorder; redo only the part that failed.
Appearance settings with theme previews
ThemesTen themes in light and dark, text size and reduced motion.

Your audio stays on your computer

Speech is recognized locally by default. Audio or text leaves your computer only if you choose a cloud speech service or an AI service.

Local recognitionDefault
Cloud speech serviceOptional
AI proofreading and summariesOff by default

Download the desktop app

Everything needed to convert videos is included. The first local transcription downloads a speech model (1–2.4 GB).

2.0course2md 2.0 is a rebuilt desktop app: preview before converting, background tasks you can pause and reorder, a library with folders, a reader with typeset formulas, and four interface languages. Release notes

macOS · Apple SiliconmacOS 15 or later Download DMG
Or install with Homebrew and keep it current with brew upgrade $brew install --cask mizorewww/tap/course2md-gui

System requirements

macOS
Apple Silicon, macOS 15 or later
Windows
x64
Linux
x86_64 with a working Vulkan driver; the tar.gz is built on Ubuntu 24.04
Tools
Everything needed to convert videos is included. The AUR package uses Arch's ffmpeg, and local speech recognition there needs the optional llama-cpp package. On Windows, GPU and CPU recognition also need the Microsoft Visual C++ 2015–2022 runtime.
Disk
1–2.4 GB for the speech model, downloaded once
Intel Mac, Linux ARM64
No desktop app yet; use the command-line version.

See the installation guide for details.

Prefer the terminal?

The command-line tool does the same conversion and installs alongside the desktop app. The two share your Bilibili and ChatGPT logins and the downloaded speech models; each keeps its own settings. Handy for batches and scripts, and it also runs on Intel Macs and Linux ARM64.

$curl -fsSL https://raw.githubusercontent.com/mizorewww/course2md/main/install.sh | bash CLI guide
~/courses — zsh
~/courses ❯ course2md https://www.youtube.com/watch?v=…
Reading video information…
Looking for subtitles…
Downloading video…
Scanning video frames…
Saving screenshots…
Extracting audio…
Transcribing speech…
Writing notes…
Notes ready: out/youtube/3f9a…/versions/…/
Tip: run course2md llm setup to enable AI proofreading and summaries
~/courses ❯

Questions

Is course2md free?

Yes. It's open source under the MIT license, with no account, subscription or ads.

Do I need an account?

No. You only sign in to services you choose to use: a Bilibili account for some videos, or an AI service if you turn AI on.

Does the AI cost money?

AI is optional and off by default. With an OpenAI-compatible service you pay that provider for what you use; a local Ollama server costs nothing; a ChatGPT subscription works through the Codex login. course2md itself charges nothing.

Where are my notes and data?

In a library folder on your computer: each note is a course.md file with its screenshots, and you can export a web page, a .zip or JSON at any time. Add more library folders in Settings → Storage. Service keys are kept in the system keychain. Nothing is uploaded unless you choose a cloud speech or AI service.

How large are the speech models?

About 1–2.3 GB on Apple Silicon and 2.4 GB on other systems, downloaded once. In mainland China they come from domestic mirrors, and downloads resume after interruptions.

A Bilibili video fails or comes back in low quality

Log in under Settings → Services & accounts → Bilibili account by scanning the QR code.