
Genderize.io determines the gender of a first name - duvander
http://genderize.io/
======
davidu
Pro tip: Don't try to be "too smart" or clever when talking to your users.

Being wrong here is so much more tacky than either asking for gender if you
need it, or just writing in a gender neutral way.

"I'm sorry we were wrong, but our computer determined you have a girl's name.
If you change your name, it'll work now."

~~~
twerquie
I suspect this is more for data analysis than it is for user-facing features.

I hope.

~~~
ddoolin
This is far more useful for advertising, especially when trying to build user
segments. If you have the gender from the user directly entering it somewhere
along the line, great. If not, this comes in.

------
sksksk
It seems to be broken, everything is returning male (or null)

    
    
        curl http://api.genderize.io?name=joe
        {"joe":"male"}
    
        curl http://api.genderize.io?name=jo
        {"jo":"male"}
    
        curl http://api.genderize.io?name=jamie
        {"jamie":"male"}
    
        curl http://api.genderize.io?name=jaime
        {"jaime":"male"}
    
        curl http://api.genderize.io?name=joan
        {"joan":"male"}
    
        curl http://api.genderize.io?name=kelly
        {"kelly":"male"}
    
        curl http://api.genderize.io?name=lucy
        {"lucy":null}

~~~
_dark_matter_
Very broken. Many common male names are returning null as well:

curl [http://api.genderize.io?name=sean](http://api.genderize.io?name=sean)
{"sean":null}

~~~
rajington
[http://genderizer.herokuapp.com/?name=sean](http://genderizer.herokuapp.com/?name=sean)
{"sean":"male"}

Heroku's free tier, not nearly as overloaded right now, but still. Source
here:
[https://github.com/rajington/genderizer](https://github.com/rajington/genderizer)

------
NoPiece
For people interested in other tools, there is a command line gender
verification tool and database:

[http://www.autohotkey.com/board/topic/20260-gender-
verificat...](http://www.autohotkey.com/board/topic/20260-gender-verification-
by-forename-cmd-line-tool-db/)

and a Ruby gam that is built on the above data:

[https://github.com/bmuller/sexmachine](https://github.com/bmuller/sexmachine)

~~~
rajington

      http://api.genderize.io/?name=jessie
      {"jessie":"male"}
    
      irb(main):005:0> d.get_gender("Jessie")
      => :female
    

Not only is it better, it handles cases like androgynous and "mostly male"

BRB while I turn this into a web api

~~~
rajington
Done
[https://github.com/rajington/genderizer](https://github.com/rajington/genderizer)

and Done

[http://murmuring-depths-3923.herokuapp.com/?name=jessie](http://murmuring-
depths-3923.herokuapp.com/?name=jessie)

[http://murmuring-
depths-3923.herokuapp.com/?name[0]=peter&na...](http://murmuring-
depths-3923.herokuapp.com/?name\[0\]=peter&name\[1\]=lois&name\[2\]=stevie)

Compared to:

[http://api.genderize.io/?name=jessie](http://api.genderize.io/?name=jessie)

[http://api.genderize.io/?name[0]=peter&name[1]=lois&name[2]=...](http://api.genderize.io/?name\[0\]=peter&name\[1\]=lois&name\[2\]=stevie)

I just wanted to learn basic Sinatra, but I might try to do the POST
operations too.

~~~
rajington
Finished POST, changed the domain to genderizer.herokuapp.com:

[http://genderizer.herokuapp.com/?name=jessie](http://genderizer.herokuapp.com/?name=jessie)

[http://genderizer.herokuapp.com/?name[0]=peter&name[1]=lois&...](http://genderizer.herokuapp.com/?name\[0\]=peter&name\[1\]=lois&name\[2\]=stevie)

------
chintan
Neat!

It would be nice to get some sort of "confidence level" \-
[http://api.genderize.io/?name=jackie](http://api.genderize.io/?name=jackie)

~~~
spaetzel
My first test
[http://api.genderize.io/?name=Erin](http://api.genderize.io/?name=Erin) gives
me "Male"

~~~
rajington
[http://genderizer.herokuapp.com/?name=Erin](http://genderizer.herokuapp.com/?name=Erin)
{"Erin":"mostly_female"}

Source here:
[https://github.com/rajington/genderizer](https://github.com/rajington/genderizer)

------
ronaldx
It's strange to believe you can effectively determine gender from a first name
- even when concentrating on Anglo-centric names, as this appears to.

How is the data generated? By hand? I can imagine this might be somewhat
useful if it gave a non-binary result.

"Paris" is "male".

~~~
rajington
Paris is "andy" androgynous

[http://genderizer.herokuapp.com/?name=Paris](http://genderizer.herokuapp.com/?name=Paris)

Source:
[https://github.com/rajington/genderizer](https://github.com/rajington/genderizer)

------
mickeyp
Interesting, but I question its utility, particularly if a name is ambiguous -
like "Alex". Also, I tried it with my sister's name, Nanna, and it returned
"null." Apparently she's neuter.

------
ds9
On my first try I got an erroneous result on a non-Anglo name:
[http://api.genderize.io/?name=krishna](http://api.genderize.io/?name=krishna)
returned "male". In fact god names are unisex; I've met a female Krishna.

Edit: and "null" on Vishnu. I didn't see on the page whether this is supposed
to extend beyond Anglo-American culture.

And "kyle" came up "male", tho I can report a female Kyle. Whoever is
populating the database may be underestimating gender/naming trends.

------
nollidge
Other commenters are already demonstrating that the error rate is way too high
to be useful. If you need a user's gender (and you probably don't), just ask
them.

~~~
arb99
Handy for ads.

------
rajington
It seems like he deleted my comment from his site's disqus (it's his right)
but I rewrote the exact same API in a couple of lines using sexmachine and
ruby (I had been meaning to try Sinatra anyway). The source is here:
[https://github.com/rajington/genderizer](https://github.com/rajington/genderizer)

Hosted on heroku's free tier here are some more interesting examples:

Basic:
[http://genderizer.herokuapp.com/?name=peter](http://genderizer.herokuapp.com/?name=peter)

    
    
      {"peter":"male"}
    

"Mostly" Response:
[http://genderizer.herokuapp.com/?name=Jamie](http://genderizer.herokuapp.com/?name=Jamie)

    
    
      {"Jamie":"mostly_female"}
    

Country (helps with guesses, default USA):
[http://genderizer.herokuapp.com/?name=Jamie&country=great_br...](http://genderizer.herokuapp.com/?name=Jamie&country=great_britain)

    
    
      {"Jamie":"mostly_male"}

------
klous
I've thought about this before, you also should be able to get a somewhat
accurate estimate of the median age of a group of attendees to an event based
on the first names alone. See Baby Name Wizard Voyager tool for visualizations
of first name occurences since 1900s:
[http://www.babynamewizard.com/voyager](http://www.babynamewizard.com/voyager)

~~~
ronaldx
I would be impressed by that!

------
Stromgren
Hello.

I'm the author of genderize.io. At the time of your comments i was slowly
getting this API up and running. A lot of sudden traffic made that a little
hard :)

At the time, i was utilizing a few lists of officially approved names from a
few European countries. We have those in Denmark, where i'm from, among a few
other countries. This had led me to believe that most countries had lists like
this and i was planning to add them as i went along.

I since change my approach, moving from the lists to large datasets of user
profiles from social networks. This has given me the chance to update the API,
adding probabilistic guesses along with the ability to add localization based
filters.

My datasets are not that huge yet, but they're constantly growing.

Just wanted to say thanks for all the feedback i found in here and give a
heads up on the update :)

------
ape4
There has been a perl module that does this for a while
[http://search.cpan.org/~edaly/Text-
GenderFromName-0.32/Gende...](http://search.cpan.org/~edaly/Text-
GenderFromName-0.32/GenderFromName.pm) I see you can add names to its
"dictionary" and it give a probability.

------
appsappsapps
First two tries:

    
    
      ~ % curl "http://api.genderize.io?name=pat"
      {"pat":null}%
    

Shouldn't that be "unisex"?

    
    
      ~ % curl "http://api.genderize.io?name=patricia"
      {"patricia":null}%
    

Hm...

------
brohee
Completely worthless without a national/ethnic hint.

E.g. "Jean" will be male if the first name of a French person, while likely
female in the US.

~~~
geuis
As Elizabeth or Leslie are common male names in the UK but female in the US.

I appreciate the authors effort, but don't see much use.

~~~
nateguchi
Never heard of a male "Elizabeth" here in the UK

------
azurelogic
It tells me that my daughter's name, Avery, is male, yet it is the 13th most
popular name for baby girls right now. Someone needs an updated data set.

------
random42
How well does it compare to
[https://nltk.googlecode.com/svn/trunk/doc/book/ch06.html](https://nltk.googlecode.com/svn/trunk/doc/book/ch06.html).
If the genderize.io folks are listening, can you look at providing some
benchmark/test set to evaluate the efficiency of the underlying algorithm?

------
iamds
I haven't tried the api yet, but the example on the home page says that "Lois"
is a female name - when in fact, in the 1930s it was quite a popular male name
with about 70 boys born each year named lois. Checkout
[http://www.namemeababy.com](http://www.namemeababy.com) to see the full
stats.

------
erehweb
Worked on gender-determination for a project for a client in a U.S. male-
dominated industry. Baby name gender frequencies by birth year are available
online. One interesting wrinkle - can apply simple Bayesian technique - e.g.
even if Pat is 50-50 male-female in population at large, firefighter Pat is
more likely to be a man.

------
swengw
If you're interested in doing this yourself, the book associated with Python's
Natural Language Toolkit has a pretty good introduction to identifying gender
in the chapter on text classification [1].

[1] [http://nltk.org/book/ch06.html](http://nltk.org/book/ch06.html)

------
omarchowdhury
{"ashley":"male"}

------
fiatmoney
Also helpful is:

[https://github.com/bmuller/sexmachine](https://github.com/bmuller/sexmachine)

which uses a multilingual dictionary, that accounts for names that cross
gender in different countries.

~~~
camtarn
The underlying dictionary for this, gender/nam_dict by Jorg Michael, is an
awesome piece of work: it has entries for each name, its gender (or genders),
and how popular that name is in each country where it's used (especially
useful for names which are female in one country but male in another country,
but where they're much more popular in the former than the latter).

It's a bit of an odd file format but it's fairly straight forward to build
something which will read it into the language of your choice.

[http://www.autohotkey.com/community/viewtopic.php?t=22000](http://www.autohotkey.com/community/viewtopic.php?t=22000)

------
RyanMcGreal
I sanity-checked the service with some common unisex names. Here are the
results I got:

Unisex: Robin, Alex

Female: Kelsey, Carol

Male: Leslie, Jodi, Jody, Frankie, Kelly, Marion, Casey, Jamie, Jordan,
Mackenzie

Null: Pat, Taylor, Dale

~~~
Stromgren
Hey Ryan

I think most of these names will result in prober responses now.

------
morrigan
If this were for data data analysis then it would have a probability
attached.What you have to ask yourself is gender really needed for your
application? If not it's best to just avoid it; using guesses is the best way
to data corruption.

------
rossriley
There's a PECL extension for PHP that claims to provide this too:
[http://php.net/gender](http://php.net/gender)

Not tested it on too many challenging tasks but it seems to work well too.

------
jimeh
[http://api.genderize.io/?name=Αλεξανδρος](http://api.genderize.io/?name=Αλεξανδρος)

This throws an error and gives us a very pretty stack-trace :)

------
hadem
I couldn't find an API, but some might be interested in GenderChecker [0].

[0] [http://www.genderchecker.com](http://www.genderchecker.com)

------
sgustard
Goes to a synology login page:
[http://www.genderize.io](http://www.genderize.io)

------
lotsofcows
Apparently I'm "null". I'll assume that's not an attempt to be deliberately
offensive. :-)

------
gales
I wonder what dataset is being used behind the scenes. Tried "Roberta" and it
returned "null".

------
zjgreen
[http://api.genderize.io/?name=pat](http://api.genderize.io/?name=pat)

------
tareqak
This sort of thing sounds like something Facebook would be very good at doing
using Open Graph.

------
xutopia
How does that site work? It mentions nothing about pricing?

