| Crates.io | mcat |
| lib.rs | mcat |
| version | 0.4.4 |
| created_at | 2025-04-22 17:01:06.968728+00 |
| updated_at | 2025-08-30 17:36:49.293159+00 |
| description | a powerfull extended cat command, to cat all the things you couldn't before |
| homepage | https://github.com/Skardyy/mcat |
| repository | https://github.com/Skardyy/mcat |
| max_upload_size | |
| id | 1644361 |
| size | 373,596 |
cargo install mcat
or ~
git clone https://github.com/Skardyy/mcat
cd mcat
cargo install --path ./crates/core
or prebuilt from the latest release
| 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)
Pretty Terminal 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
Static Image set when -o image and gives an image
Interactive Image set when -o interactive 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 a documents in the terminal #
#------------------------------------#
mcat resume.pdf
mcat project.docx -t monokai # With a different theme
mcat "https://realpdfs.com/file.pdf" # 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 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 -o interactive # zoom and pan the image interactively in the terminal
#--------------------------#
# What I use it most for #
#--------------------------#
mcat ls # To find the image i was looking for
mcat . | scb # Selects files, concat them, and copy to clipboard ~ for AI prompts
mcat index.html -o image > save.png # Render HTML into images
Mcat will continue working without them
mcat --fetch-chromiummcat --fetch-ffmpegthe main flags for configuring are:
--opts for inline image printing--ls-opts for the ls commandrun mcat --help for full detail, and other flags.
each variable mimicks its corresponding flag alternative.
MCAT_ENCODER, Options: kitty,iterm,sixel,ascii. e.g. MCAT_ENCODER=kitty is the same as doing --kittyMCAT_PAGER, MCAT_THEME, --theme flagMCAT_INLINE_OPTS, --opts flagMCAT_LS_OPTS, --ls-opts flagMCAT_SILENT, --silent flagMCAT_NO_LINENUMBERS, --no-linenumbers flagMCAT_MD_IMAGE, --no-images flagMIT License