{"id":37119044,"url":"https://github.com/mpl/goexif","last_synced_at":"2026-01-14T13:53:41.177Z","repository":{"id":21091795,"uuid":"24391781","full_name":"mpl/goexif","owner":"mpl","description":"Decode embedded EXIF meta data from image files.","archived":false,"fork":true,"pushed_at":"2018-05-18T17:54:54.000Z","size":1084,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"go1","last_synced_at":"2024-06-21T03:18:39.516Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"rwcarlsen/goexif","license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mpl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-23T22:30:54.000Z","updated_at":"2020-11-03T04:52:36.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mpl/goexif","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mpl/goexif","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpl%2Fgoexif","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpl%2Fgoexif/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpl%2Fgoexif/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpl%2Fgoexif/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mpl","download_url":"https://codeload.github.com/mpl/goexif/tar.gz/refs/heads/go1","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpl%2Fgoexif/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28422367,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T13:30:50.153Z","status":"ssl_error","status_checked_at":"2026-01-14T13:29:08.907Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-01-14T13:53:40.519Z","updated_at":"2026-01-14T13:53:41.163Z","avatar_url":"https://github.com/mpl.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"goexif\n======\n\nProvides decoding of basic exif and tiff encoded data. Still in alpha - no guarantees.\nSuggestions and pull requests are welcome.  Functionality is split into two packages - \"exif\" and \"tiff\"\nThe exif package depends on the tiff package. \nDocumentation can be found at http://godoc.org/github.com/rwcarlsen/goexif\n\nLike goexif? - Bitcoin Cash tips welcome: 1DrU5V37nTXuv4vnRLVpahJEjhdATNgoBh\n\nTo install, in a terminal type:\n\n```\ngo get github.com/rwcarlsen/goexif/exif\n```\n\nOr if you just want the tiff package:\n\n```\ngo get github.com/rwcarlsen/goexif/tiff\n```\n\nExample usage:\n\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"os\"\n\n\t\"github.com/rwcarlsen/goexif/exif\"\n\t\"github.com/rwcarlsen/goexif/mknote\"\n)\n\nfunc ExampleDecode() {\n\tfname := \"sample1.jpg\"\n\n\tf, err := os.Open(fname)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\t// Optionally register camera makenote data parsing - currently Nikon and\n\t// Canon are supported.\n\texif.RegisterParsers(mknote.All...)\n\n\tx, err := exif.Decode(f)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tcamModel, _ := x.Get(exif.Model) // normally, don't ignore errors!\n\tfmt.Println(camModel.StringVal())\n\n\tfocal, _ := x.Get(exif.FocalLength)\n\tnumer, denom, _ := focal.Rat2(0) // retrieve first (only) rat. value\n\tfmt.Printf(\"%v/%v\", numer, denom)\n\n\t// Two convenience functions exist for date/time taken and GPS coords:\n\ttm, _ := x.DateTime()\n\tfmt.Println(\"Taken: \", tm)\n\n\tlat, long, _ := x.LatLong()\n\tfmt.Println(\"lat, long: \", lat, \", \", long)\n}\n```\n\n\u003c!--golang--\u003e\n[![githalytics.com alpha](https://cruel-carlota.pagodabox.com/5e166f74cdb82b999ccd84e3c4dc4348 \"githalytics.com\")](http://githalytics.com/rwcarlsen/goexif)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpl%2Fgoexif","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmpl%2Fgoexif","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpl%2Fgoexif/lists"}