0xharkirat/Dither Portrait
Turn a photo into an animated dithered SVG for your GitHub profile README.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 29, 2026
- License
- MIT
Pinned Snippet
uses: 0xharkirat/dither-portrait@26791123fdfced9aaff21c73a70335a66e5626f3 # v1.0.1tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| username | GitHub user whose avatar to dither. Defaults to the repository owner. | no | ${{ github.repository_owner }} |
| photo | Path to a local image. Overrides `username` when set. | no | — |
| out-dir | Directory to write the SVGs into. | no | . |
| prefix | Filename prefix, so output is <prefix>-dark.svg and <prefix>-light.svg. | no | portrait |
| themes | Comma separated: dark, light, or both. | no | dark,light |
| size | Rendered width in pixels. | no | 330 |
| max-height | Cap on rendered height, for tall photos. | no | 520 |
| grid | Dither resolution in cells across. Drives file size; 120 is a good start. | no | 120 |
| frames | Animation frames. More is smoother and bigger. | no | 16 |
| duration | Seconds per animation loop. | no | 2.8 |
| motion | water (coherent ripples), shimmer (per-cell jitter), or none (static). | no | water |
| ink-dark | Ink color used on the dark-theme variant. | no | #c9d1d9 |
| ink-light | Ink color used on the light-theme variant. | no | #24292f |
| radius | Corner radius in pixels. | no | 14 |
| invert | Swap which tones become ink. Try it if the result looks like a solid block. Whether the default suits a photo depends on the subject, not the background, so this is a switch rather than something the tool guesses. | no | false |
Outputs
| name | description |
|---|---|
| files | Space separated list of the SVG files written. |