Mcat
Installation • Examples • CHANGELOG
✨ Features
-
📄 File to Markdown/HTML
Convert structured content like CSVs, directories, and rich document formats (e.g., DOCX) into clean Markdown/HTML. -
🏞️ Markdown/HTML to Image
Render Markdown or HTML files into images. -
🖼️ Inline Image/Videos
Display images/videos inside your terminal using protocols like Kitty, iTerm, or Sixel. -
🌐 URL to Inline Image/Video
View Images/Videos from a URL in your terminal -
🔗 Concatenate Images and Video too!
Concatenate videos of the same format (time concat) and Concatenate images by stacking them horizontal or vertical(default) -
💃🏻 Automatic Styling for HTML
automatically inject styles into the HTML to make the image cooler!
⬇️ Installation
or ~
or prebuilt from the latest release
🏋️ Example Usage
# View a document as Markdown
# View a document as pretty text in the terminal
# Or HTML
# Show a document inline as an image
# Show a document as an image inline with a dark theme
# Show a document as an image in the terminal with your own css
# Render a document to an image and save it
# Show media inline in your terminal
# From a url
# Images too!
# Concatenate documents and turn them into an image
# Or just select interactively and copy to clipboard (for ai prompts)
# Replace scb with a command from your os
|
# Concatenate images (stacks vertical)
# Or save it (stacks horizontal)
# Concatenate videos (must be same format: codec,audio..)
⚙️ Supported Formats
| Input Type | Output Options |
|---|---|
| DOCX, PDF, CSV, ODT, PPTX, and more.. | Markdown, HTML, Image, Inline |
| Markdown / HTML | Image, Inline Image |
| Images, Videos | Inline Display |
| URLs | Image/Video Fetch + Inline View |
🛐 Dependencies
Mcat tries to have as little dependencies as possible.
chromium (for rendering HTML to image):
- exists on every windows machine through msedge. and other machines that have chrome/msedge/chromium
- can be installed by doing
mcat --fetch-chormium
ffmpeg (for videos)
- can be installed by doing
mcat --fetch-ffmpeg
🆘 Help
mcat --help
Usage: mcat [OPTIONS] [input]...
Arguments:
[input]... file / dir
Options:
-o <output> the format to output [possible values: html, md, image, video, inline]
-t <theme> alternative css file for images, valid options: [default, makurai, <local file>] [default: default]
-s add style to html too (when html is the output)
--kitty makes the inline image encoded to kitty
--iterm makes the inline image encoded to iterm
--sixel makes the inline image encoded to sixel
-i shortcut for putting --output inline
-m shortcut for putting --theme makurai
--hori concat images horizontal instead of vertical
--inline-options <inline-options> options for the --output inline
* center=<bool>
* width=<string> [only for images]
* height=<string> [only for images]
* scale=<f32>
* spx=<string>
* sc=<string>
* zoom=<usize> [only for images]
* x=<int> [only for images]
* y=<int> [only for images]
* exmp: --inline-options 'center=false,width=80%,height=20c,scale=0.5,spx=1920x1080,sc=100x20,zoom=2,x=16,y=8'
--fetch-chromium download and prepare chromium
--fetch-ffmpeg download and prepare ffmpeg
--fetch-clean Clean up the local binaries
-h, --help Print help
-V, --version Print version
🚧 Roadmap
- mcat.nvim: a neovim plugin to use mcat inside neovim
📎 License
MIT License