
Parse, Convert and Preview files
In your Terminal
Installation • Examples • CHANGELOG

From Source
cargo install mcat
or ~
git clone https://github.com/Skardyy/mcat
cd mcat
cargo install --path ./crates/core
Prebuilt
follow the instructions at the latest release
Homebrew (macOS/Linux)
brew install mcat
AUR (Arch linux)
yay -S mcat-bin
Nix
environment.systemPackages = [ pkgs.mcat ];
Scoop (Windows)
scoop install mcat
Advanced explanation
| Input |
|---|
Inputs can be:
The type of each input is inferred automatically, and it continues through the pipeline until it reaches the output format the user requested.
| In the pipeline |
|---|
For example, if the user runs:
mcat file.docx file.pdf -o inline
mcat will:
file.docx and file.pdf into a single Markdown fileYou can also start from the middle of the pipeline.
For example:
mcat file.html -o image > image.png
This starts at an HTML file and directly converts it into a PNG image.
| Explanation of the blocks |
|---|
Markdown - set when -o md or when the stdout isn't the terminal (piped)
Markdown Viewer is markdown with ANSI formatting, and is the default for any non video / image file. (the -c flag forces it)
HTML set when -o html -- only works for non image / video files
PNG Image set when -o image and gives an image
Interactive Viewer set when -o interactive or -I and launches an interactive view to zoom and pan the image in the terminal.
Inline Display set when -o inline or -i and prints the content as image in the terminal
#---------------------------------------#
# View documents with ANSI formatting #
# in the terminal #
#---------------------------------------#
mcat resume.typst
mcat project.docx -t monokai # With a different theme
mcat "https://realmdfm.com/file.md" # From a url
cat file.pptx | mcat # From stdin
mcat . # Select files interactively
#-----------------#
# Convert files #
#-----------------#
mcat archive.zip > README.md # Into Markdown
mcat f1.rs f2.rs -o html > index.html # Into HTML
mcat index.html -o image > page.png # Into image
#--------------------------#
# View Images and Videos #
# in the terminal #
#--------------------------#
mcat resume.pdf # Pdf
mcat img.png # Image
mcat video.mp4 # Video
mcat "https://giphy.com/gifs/..." # From a URL
mcat README.md -i # Converts to image and then shows it
mcat ls # ls command with images
mcat massive_image.png -I # zoom and pan the image interactively in the terminal
mcat document.pdf -I # view PDF rendered as images interactively
mcat img.png README.md -I # view multiple files as images interactively
#--------------------------#
# What I use it most for #
#--------------------------#
mcat ls # To find the image i was looking for
mcat . | pbcopy # Selects files, concat them, and copy to clipboard
mcat index.html -o image > save.png # Render HTML into images
mcat archive.zip # View the content of a zip file.
To see which file types support which features, see the table here.
Mcat will continue working without them
Chromium (for rendering HTML/Markdown/Text to image)
mcat --fetch-chromiumFFmpeg (for videos)
mcat --fetch-ffmpegThanks to all contributors