Zurück zum Ranking

Skardyy/mcat

Rust

Terminal image, video, and Markdown viewer

markdownitermkittysixelterminal-graphicsasciils
Sterne-Wachstum
Sterne
1.4k
Forks
49
Wochenwachstum
Issues
6
5001k
Apr. 2025Sept. 2025Feb. 2026Juli 2026
Artefaktecrates.iocargo add mcat
README

Mcat

Parse, Convert and Preview files
In your Terminal

Total Downloads Version

InstallationExamplesCHANGELOG

mcat_demo

Installation

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

How it works

mcat-pipeline-graph
Advanced explanation
Input

Inputs can be:

  1. local file
  2. url
  3. bytes from stdin

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:

  • Convert both file.docx and file.pdf into a single Markdown file
  • Convert that Markdown into HTML
  • Convert the HTML into an image
  • Convert the image into an inline terminal image and print it

You 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


Example Usage

#---------------------------------------#
#  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.

Support

To see which file types support which features, see the table here.

Optional Dependencies

Mcat will continue working without them

Chromium (for rendering HTML/Markdown/Text to image)
  1. Available by default on most Windows machines via Microsoft Edge.
  2. Also works with any installed Chrome, Edge, or Chromium.
  3. You can install it manually via mcat --fetch-chromium

FFmpeg (for videos)
  1. If it's already on your machine.
  2. Otherwise, you can install it with mcat --fetch-ffmpeg


Terminal Trove Tool of The Week

Thanks to all contributors

Ähnliche Repositories
microsoft/markitdown

Python tool for converting files and office documents to Markdown.

PythonPyPIMIT Licenselangchainopenai
167.7k12.1k
firecrawl/firecrawl

The API to search, scrape, and interact with the web at scale. 🔥

TypeScriptnpmGNU Affero General Public License v3.0aicrawler
firecrawl.dev
153.6k8.8k
toeverything/AFFiNE

There can be more than Notion and Miro. AFFiNE(pronounced [ə‘fain]) is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.

TypeScriptnpmOthereditorcrdt
affine.pro
70.6k5.1k
docling-project/docling

Get your documents ready for gen AI

PythonPyPIMIT Licenseaiconvert
docling-project.github.io/docling
63.5k4.5k
usememos/memos

Open-source, self-hosted note-taking tool built for quick capture. Markdown-native, lightweight, and fully yours.

GoGo ModulesMIT Licensereactgo
usememos.com
61.7k4.6k
marktext/marktext

📝A simple and elegant markdown editor, available for Linux, macOS and Windows.

TypeScriptnpmMIT Licensemacostypewriter-mode
marktext.me
59k4.4k
Textualize/rich

Rich is a Python library for rich text and beautiful formatting in the terminal.

PythonPyPIMIT Licensepythonpython3
rich.readthedocs.io/en/latest/
56.9k2.3k
prettier/prettier

Prettier is an opinionated code formatter.

JavaScriptnpmMIT Licenseformatterprinter
prettier.io
52.1k4.9k
jekyll/jekyll

:globe_with_meridians: Jekyll is a blog-aware static site generator in Ruby

RubyRubyGemsMIT Licenserubyjekyll
jekyllrb.com
51.6k10.3k
slidevjs/slidev

Presentation Slides for Developers

TypeScriptnpmMIT Licenseslidespresentation
sli.dev
47.8k2.1k
GitHubDaily/GitHubDaily

坚持分享 GitHub 上高质量、有趣实用的开源技术教程、开发者工具、编程网站、技术资讯。A list cool, interesting projects of GitHub.

githubopen-source
githubdaily.com
47.1k4.7k
jgm/pandoc

Universal markup converter

HaskellGNU General Public License v2.0pandochaskell
pandoc.org
45.5k3.9k