0xharkirat/Dither Portrait

Turn a photo into an animated dithered SVG for your GitHub profile README.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jul 29, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: 0xharkirat/dither-portrait@26791123fdfced9aaff21c73a70335a66e5626f3 # v1.0.1

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
usernameGitHub user whose avatar to dither. Defaults to the repository owner.no${{ github.repository_owner }}
photoPath to a local image. Overrides `username` when set.no
out-dirDirectory to write the SVGs into.no.
prefixFilename prefix, so output is <prefix>-dark.svg and <prefix>-light.svg.noportrait
themesComma separated: dark, light, or both.nodark,light
sizeRendered width in pixels.no330
max-heightCap on rendered height, for tall photos.no520
gridDither resolution in cells across. Drives file size; 120 is a good start.no120
framesAnimation frames. More is smoother and bigger.no16
durationSeconds per animation loop.no2.8
motionwater (coherent ripples), shimmer (per-cell jitter), or none (static).nowater
ink-darkInk color used on the dark-theme variant.no#c9d1d9
ink-lightInk color used on the light-theme variant.no#24292f
radiusCorner radius in pixels.no14
invertSwap 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. nofalse
namedescription
filesSpace separated list of the SVG files written.