{"id":26415216,"url":"https://github.com/skardyy/mcat","last_synced_at":"2026-04-25T14:01:05.189Z","repository":{"id":335274972,"uuid":"966114168","full_name":"Skardyy/mcat","owner":"Skardyy","description":"Terminal image, video, and Markdown viewer","archived":false,"fork":false,"pushed_at":"2026-04-11T12:50:25.000Z","size":10749,"stargazers_count":1242,"open_issues_count":4,"forks_count":44,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-04-11T14:20:51.539Z","etag":null,"topics":["ascii","iterm","kitty","ls","markdown","sixel","terminal-graphics"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Skardyy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-14T12:27:49.000Z","updated_at":"2026-04-11T12:50:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Skardyy/mcat","commit_stats":null,"previous_names":["skardyy/mcat"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/Skardyy/mcat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skardyy%2Fmcat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skardyy%2Fmcat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skardyy%2Fmcat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skardyy%2Fmcat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Skardyy","download_url":"https://codeload.github.com/Skardyy/mcat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skardyy%2Fmcat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31684525,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T13:07:20.380Z","status":"ssl_error","status_checked_at":"2026-04-11T13:06:47.903Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ascii","iterm","kitty","ls","markdown","sixel","terminal-graphics"],"created_at":"2025-03-18T00:17:52.766Z","updated_at":"2026-04-11T15:03:40.501Z","avatar_url":"https://github.com/Skardyy.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Mcat\n\n\u003cimg src=\"https://i.imgur.com/qSSM6Iy.png\" width=\"128\"/\u003e\n\nParse, Convert and Preview files  \n**_In your Terminal_**\n\n![Total Downloads](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/skardyy/d30563e4945958e7d4f7560cf003c33c/raw/mcat-downloads.json) ![Version](https://img.shields.io/crates/v/mcat?style=for-the-badge)\n\n[Installation](#installation) • [Examples](#example-usage) • [CHANGELOG](./CHANGELOG.md)\n\n![mcat_demo](https://github.com/Skardyy/assets/blob/main/mcat_opt.gif)\n\n\u003c/div\u003e\n\n## Installation\n\n\u003cdetails\u003e\n   \u003csummary\u003eFrom Source\u003c/summary\u003e\n\n```sh\ncargo install mcat\n```\n\nor ~\n\n```sh\ngit clone https://github.com/Skardyy/mcat\ncd mcat\ncargo install --path ./crates/core\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n   \u003csummary\u003ePrebuilt\u003c/summary\u003e\n\nfollow the instructions at the [latest release](https://github.com/Skardyy/mcat/releases/latest)\n\n\u003c/details\u003e\n\u003cdetails\u003e\n   \u003csummary\u003eHomebrew (MacOS/Linux)\u003c/summary\u003e\n\n```sh\nbrew install mcat\n```\n\n\u003c/details\u003e\n\u003cdetails\u003e\n   \u003csummary\u003eAUR (Arch linux)\u003c/summary\u003e\n\n```sh\nyay -S mcat-bin\n```\n\n\u003c/details\u003e\n\u003cdetails\u003e\n   \u003csummary\u003eWinget (Windows)\u003c/summary\u003e\n\n```sh\nwinget install skardyy.mcat\n```\n\n\u003c/details\u003e\n\n## How it works\n\n\u003cimg alt=\"mcat-pipeline-graph\" width=\"700\" src=\"https://github.com/user-attachments/assets/4ec04541-39d8-4cd0-b05d-0a5813be61aa\"\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eAdvanced explanation\u003c/summary\u003e\n   \n---\n\n| Input |\n| ----- |\n\nInputs can be:\n\n1. local file\n2. url\n3. bytes from stdin\n\nThe type of each input is inferred automatically, and it continues through the pipeline until it reaches the output format the user requested.\n\n| In the pipeline |\n| --------------- |\n\nFor example, if the user runs:\n\n```\nmcat file.docx file.pdf -o inline\n```\n\n`mcat` will:\n\n- Convert both `file.docx` and `file.pdf` into a single Markdown file\n- Convert that Markdown into HTML\n- Convert the HTML into an image\n- Convert the image into an inline terminal image and print it\n\nYou can also start from the middle of the pipeline.  \nFor example:\n\n```\nmcat file.html -o image \u003e image.png\n```\n\nThis starts at an HTML file and directly converts it into a PNG image.\n\n| Explanation of the blocks |\n| ------------------------- |\n\n- **`Markdown`** - set when `-o md` or when the stdout isn't the terminal (piped)\n\n- **`Markdown Viewer`** is markdown with ANSI formatting, and is the **default** for any non video / image file. (the `-c` flag forces it)\n\n- **`HTML`** set when `-o html` -- only works for non image / video files\n\n- **`PNG Image`** set when `-o image` and gives an image\n\n- **`Interactive Viewer`** set when `-o interactive` or `-I` and launches an interactive view to zoom and pan the image in the terminal.\n\n- **`Inline Display`** set when `-o inline` or `-i` and prints the content as image in the terminal\n\n---\n\n\u003c/details\u003e\n\n## Example Usage\n\n```sh\n#---------------------------------------#\n#  View documents with ANSI formatting  #\n#  in the terminal                      #\n#---------------------------------------#\n\nmcat resume.typst\nmcat project.docx -t monokai           # With a different theme\nmcat \"https://realmdfm.com/file.md\"    # From a url\ncat file.pptx | mcat                   # From stdin\nmcat .                                 # Select files interactively\n\n#-----------------#\n#  Convert files  #\n#-----------------#\n\nmcat archive.zip \u003e README.md           # Into Markdown\nmcat f1.rs f2.rs -o html \u003e index.html  # Into HTML\nmcat index.html -o image \u003e page.png    # Into image\n\n#--------------------------#\n#  View Images and Videos  #\n#  in the terminal         #\n#--------------------------#\n\nmcat resume.pdf                        # Pdf\nmcat img.png                           # Image\nmcat video.mp4                         # Video\nmcat \"https://giphy.com/gifs/...\"      # From a URL\nmcat README.md -i                      # Converts to image and then shows it\nmcat ls                                # ls command with images\nmcat massive_image.png -I              # zoom and pan the image interactively in the terminal\nmcat document.pdf -I                   # view PDF rendered as images interactively\nmcat img.png README.md -I              # view multiple files as images interactively\n\n#--------------------------#\n#  What I use it most for  #\n#--------------------------#\n\nmcat ls                                # To find the image i was looking for\nmcat . | pbcopy                        # Selects files, concat them, and copy to clipboard\nmcat index.html -o image \u003e save.png    # Render HTML into images\nmcat archive.zip                       # View the content of a zip file.\n```\n\n## Support\n\nTo see which file types support which features, see the table [here](./support.md).\n\n## Optional Dependencies\n\n\u003e Mcat will continue working without them\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eChromium (for rendering HTML/Markdown/Text to image)\u003c/strong\u003e\u003c/summary\u003e\n\n---\n\n1. Available by default on most Windows machines via Microsoft Edge.\n2. Also works with any installed Chrome, Edge, or Chromium.\n3. You can install it manually via `mcat --fetch-chromium`\n\n---\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eFFmpeg (for videos)\u003c/strong\u003e\u003c/summary\u003e\n\n---\n\n1. If it's already on your machine.\n2. Otherwise, you can install it with `mcat --fetch-ffmpeg`\n\n---\n\n\u003c/details\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n   \u003ca title=\"This tool is Tool of The Week on Terminal Trove, The $HOME of all things in the terminal\" href=\"https://terminaltrove.com/\"\u003e\n      \u003cimg src=\"https://cdn.terminaltrove.com/media/badges/tool_of_the_week/png/terminal_trove_tool_of_the_week_gold_transparent.png\" alt=\"Terminal Trove Tool of The Week\" height=\"50px\"/\u003e\n   \u003c/a\u003e\n   \u003cbr/\u003e\u003cbr/\u003e\n   \u003cp\u003eThanks to all contributors\u003c/p\u003e   \n   \u003cimg src=\"https://contrib.rocks/image?repo=skardyy/mcat\" height=\"30\"/\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskardyy%2Fmcat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskardyy%2Fmcat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskardyy%2Fmcat/lists"}