rrivera
identicon
Go

Open source avatar generator inspired by GitHub avatars.

Last updated Jan 23, 2026
92
Stars
13
Forks
2
Issues
0
Stars/day
Attention Score
10
Language breakdown
No language data available.
Files click to expand
README

IdentIcon

CircleCI Go Report Card

IdentIcon is an open source avatar generator inspired by GitHub avatars.

IdentIcon uses a deterministic algorithm that generates an image (using Golang's stdlib image encoders) based on a text (Generally Usernames, Emails or just random strings), by hashing it and iterating over the bytes of the digest to pick whether to draw a point, pick a color or choose where to go next.

IdentIcon's Generator enables the creation of customized figures: (NxN size, points density, custom color palette) as well as multiple exporting formats in case the developers want to generate their own images.

Installation

$ go get github.com/rrivera/identicon

Usage

import (
    "os"

"github.com/rrivera/identicon" )

// New Generator: Rehuse ig, err := identicon.New( "github", // Namespace 5, // Number of blocks (Size) 3, // Density )

if err != nil { panic(err) // Invalid Size or Density }

username := "rrivera" // Text - decides the resulting figure ii, err := ig.Draw(username) // Generate an IdentIcon

if err != nil { panic(err) // Text is empty }

// File writer img, _ := os.Create("icon.png") defer img.Close() // Takes the size in pixels and any io.Writer ii.Png(300, img) // 300px * 300px

Examples

5x5

|rrivera | johndoe | abc123 | modulo | :------------------------------------------------:|:---------------------------------------------:|:-------------------------------------------:|:--------------------------------------------| rrivera | johndoe | abc123 | modulo | rrivera | johndoe | abc123 | modulo | rrivera | johndoe | abc123 | modulo |

7x7

|rrivera | johndoe | abc123 | modulo | :------------------------------------------------:|:---------------------------------------------:|:-------------------------------------------:|:---------------------------------------------| rrivera | johndoe | abc123 | modulo | rrivera | johndoe | abc123 | modulo | rrivera | johndoe | abc123 | modulo |

10x10

|rrivera | johndoe | abc123 | modulo | :--------------------------------------------------:|:-----------------------------------------------:|:---------------------------------------------:|:----------------------------------------------| rrivera | johndoe | abc123 | modulo | rrivera | johndoe | abc123 | modulo | rrivera | johndoe | abc123 | modulo |

View examples

Documentation

Changelog

Contribution

License

MIT

Copyright (c) 2018-present, Ruben Rivera

🔗 More in this category

© 2026 GitRepoTrend · rrivera/identicon · Updated daily from GitHub