{"id":13511630,"url":"https://github.com/eliukblau/pixterm","last_synced_at":"2026-10-19T17:38:37.283Z","repository":{"id":57495197,"uuid":"80685217","full_name":"eliukblau/pixterm","owner":"eliukblau","description":"Draw images in your ANSI terminal with true color","archived":false,"fork":false,"pushed_at":"2026-08-01T21:45:58.000Z","size":22180,"stargazers_count":1017,"open_issues_count":0,"forks_count":57,"subscribers_count":11,"default_branch":"master","last_synced_at":"2026-09-21T15:44:47.352Z","etag":null,"topics":["ansi","bmp","cli","color","gif","go","golang","image","jpeg","png","terminal","tiff","tool","true","webp"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eliukblau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-02T02:11:06.000Z","updated_at":"2026-09-14T12:09:29.000Z","dependencies_parsed_at":"2025-03-30T20:34:18.848Z","dependency_job_id":"671d13a4-0e88-411b-a617-02003dc620c7","html_url":"https://github.com/eliukblau/pixterm","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/eliukblau/pixterm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliukblau%2Fpixterm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliukblau%2Fpixterm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliukblau%2Fpixterm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliukblau%2Fpixterm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eliukblau","download_url":"https://codeload.github.com/eliukblau/pixterm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliukblau%2Fpixterm/sbom","scorecard":{"id":373109,"data":{"date":"2025-08-11","repo":{"name":"github.com/eliukblau/pixterm","commit":"1a93fd59271c8b11e2b4971e2fdebe3634fe46b9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.5,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":1,"reason":"Found 4/24 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: Mozilla Public License 2.0: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-q7pp-wcgr-pffx"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 10 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-18T13:27:06.460Z","repository_id":57495197,"created_at":"2025-08-18T13:27:06.460Z","updated_at":"2025-08-18T13:27:06.460Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38363503,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-19T02:00:06.414Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ansi","bmp","cli","color","gif","go","golang","image","jpeg","png","terminal","tiff","tool","true","webp"],"created_at":"2024-08-01T03:01:01.878Z","updated_at":"2026-10-19T17:38:37.277Z","avatar_url":"https://github.com/eliukblau.png","language":"Go","funding_links":[],"categories":["开源类库","Go","Open source library","Repositories","Programming Languages","CLI Utilities"],"sub_categories":["命令行","Command Line","Go"],"readme":"```\n   ___  _____  ____\n  / _ \\/  _/ |/_/ /____ ______ _      Made with love by Eliuk Blau\n / ___// /_\u003e  \u003c/ __/ -_) __/  ' \\ https://github.com/eliukblau/pixterm\n/_/  /___/_/|_|\\__/\\__/_/ /_/_/_/                1.3.3\n\n```\n\n# `PIXterm` - *draw images in your ANSI terminal with true color*\n\n**`PIXterm`** ***shows images directly in your terminal***, recreating the pixels through a combination of [ANSI character background color](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) and the [unicode lower half block element](https://en.wikipedia.org/wiki/Block_Elements). If image has transparency, an optional matte color can be used for background. Also, you can specify a dithering mode; in which case, the image is rendered using block elements with different shades, or using standard ASCII characters in the same way. In dithering mode, the matte color is used to fill the background of the blocks or characters.\n\nThe conversion process runs fast because it is parallelized in all CPUs.\n\nSupported image formats: JPEG, PNG, GIF, BMP, TIFF, WebP.\n\nFetching images from HTTP/HTTPS is supported too.\n\n#### Cool Screenshots\n\n![Screenshot 1](docs/images/screenshot01.png)\n\n##### No Dithering (Classic Mode)\n\n![Screenshot 2](docs/images/screenshot02.png)\n\n![Screenshot 3](docs/images/screenshot03.png)\n\n![Screenshot 4](docs/images/screenshot04.png)\n\n![Screenshot 5](docs/images/screenshot05.png)\n\n![Screenshot 6](docs/images/screenshot06.png)\n\n##### Dithering with Blocks\n\n![Screenshot 7](docs/images/screenshot07.png)\n\n![Screenshot 8](docs/images/screenshot08.png)\n\n![Screenshot 9](docs/images/screenshot09.png)\n\n##### Dithering with Characters\n\n![Screenshot 10](docs/images/screenshot10.png)\n\n![Screenshot 11](docs/images/screenshot11.png)\n\n![Screenshot 12](docs/images/screenshot12.png)\n\n##### Dithering with Background Color Disabled (`-nobg`)\n\n![Screenshot 13](docs/images/screenshot13.png)\n\n![Screenshot 14](docs/images/screenshot14.png)\n\n#### Requirements\n\nYour terminal emulator must be support *true color* feature in order to display image colors in a right way. In addition, you must use a monospaced font that includes the lower half block unicode character: `▄ (U+2584)`. I personally recommend [Envy Code R](https://damieng.com/blog/2008/05/26/envy-code-r-preview-7-coding-font-released). It's the nice font that shows in the screenshots. If you want to use the dithering mode with blocks, the font must also includes the following unicode characters: `█ (U+2588)`, `▓ (U+2593)`, `▒ (U+2592)`, `░ (U+2591)`. The dithering mode with characters works with standard ASCII chars.\n\n#### Dependencies\n\nAll dependencies are included via standard [Go module system](https://blog.golang.org/using-go-modules). You should not do anything else.\n\n###### Dependencies for `PIXterm` CLI tool\n\n- Package [colorful](https://github.com/lucasb-eyer/go-colorful): `github.com/lucasb-eyer/go-colorful`\n- Package [terminal](https://godoc.org/golang.org/x/crypto/ssh/terminal): `golang.org/x/crypto/ssh/terminal`\n\n###### Dependencies for `ANSImage` Package\n\n- Package [colorful](https://github.com/lucasb-eyer/go-colorful): `github.com/lucasb-eyer/go-colorful`\n- Package [imaging](https://github.com/disintegration/imaging): `github.com/disintegration/imaging`\n- Package [webp](https://godoc.org/golang.org/x/image/webp): `golang.org/x/image/webp`\n- Package [bmp](https://godoc.org/golang.org/x/image/bmp): `golang.org/x/image/bmp`\n- Package [tiff](https://godoc.org/golang.org/x/image/tiff): `golang.org/x/image/tiff`\n\n#### Installation\n\n*You need the [Go compiler](https://golang.org) version 1.25 or higher installed in your system.*\n\nRun this command to automatically download sources and install **`PIXterm`** binary in your `$GOPATH/bin` (or `$GOBIN`) directory:\n\n`go install github.com/eliukblau/pixterm/cmd/pixterm@latest`\n\nIf you're using Arch Linux, `Fabius` has created an AUR package for **`PIXterm`**. Run this command to install it:\n\n`yaourt -S pixterm`\n\nThe previous package called `pixterm-git`, kindly created by `eigengrau`, is now orphan. Do not use it.\n\n#### Local Running/Building\n\nIf you have a local copy of this repo, you can run/build the `pixterm` CLI using the following commands in the repository root:\n\n```sh\n# run\ngo run ./cmd/pixterm\n\n# build\ngo build -o path/for/binary ./cmd/pixterm\n```\n\n#### About\n\n**`PIXterm`** is a terminal toy application that I made to exercise my skills on Go programming language. If you have not tried this language yet, please give it a try! It's easy, fast and very well organized. You'll not regret 😜\n\n*This application is originaly inspired by the clever [termpix](https://github.com/hopey-dishwasher/termpix), implemented in [Rust](https://www.rust-lang.org).*\n\n*The dithering mode is my own port of the [Processing Textmode Engine](https://github.com/no-carrier/ProcessingTextmodeEngine)'s render.*\n\n#### License\n\n[Mozilla Public License Version 2.0](https://mozilla.org/MPL/2.0)\n\n#### Contributors\n\n- [@disq](https://github.com/disq)\n  - Original code for image transparency support.\n\n- [@timob](https://github.com/timob)\n  - Fix for `ANSIpixel` type: use 8bit color component for output.\n\n- [@HongjiangHuang](https://github.com/HongjiangHuang)\n  - Original code for image download support.\n\n- [@brutestack](https://github.com/brutestack)\n  - Color support for Windows (Command Prompt \u0026 PowerShell).\n  - Original code for disable background color in dithering mode.\n  - Original code for output Go code to `fmt.Print()` the image.\n\n- [@diamondburned](https://github.com/diamondburned)\n  - `NewFromImage()` \u0026 `NewScaledFromImage()` for `ANSImage` API.\n\n- [@MichaelMure](https://github.com/MichaelMure)\n  - More conventional `go.mod` file at repository.\n\n- [@Calinou](https://github.com/Calinou)\n  - Use HTTPS URLs everywhere.\n  - Other awesome contributions.\n\n- [@grisu48](https://github.com/grisu48)\n  - Help with updating very old dependencies.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feliukblau%2Fpixterm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feliukblau%2Fpixterm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feliukblau%2Fpixterm/lists"}