The Go gopher was designed by [Renee French](https://reneefrench.blogspot.com/).  
The design is licensed under the Creative Commons 3.0 Attributions license.  
Read [this article](https://blog.golang.org/gopher) and watch [The Go Gopher A Character Study](https://www.youtube.com/watch?v=4rw_B4yY69k) for more details.

## Where can I find more gopher illustrations?

* [gophers in the Go repository](https://github.com/golang/go/tree/master/doc/gopher)
* [gopher vector](https://github.com/golang-samples/gopher-vector)
* [gopher 3d](https://github.com/golang-samples/gopher-3d)
* [golang graphics](https://github.com/mholt/golang-graphics)
* [print-ready swimming gopher](https://gumroad.com/l/golang)
* [go gopher vector](https://github.com/keygx/Go-gopher-Vector)
* [gopher gala](http://www.gophergala.com/)
* [gophericons](https://github.com/hackraft/gophericons)
* [gophers by Egon Elbre](https://github.com/egonelbre/gophers)
* [Go Gopher model (3d)](https://github.com/StickmanVentures/go-gopher-model)
* [Gopher Artwork by Ashley McNamara](https://github.com/ashleymcnamara/gophers)
* [Gopherize.me](https://gopherize.me/) - a Gopher avatar that's as unique as you
