What is W-Hat.com?

W-Hat.com provides a couple of useful services for LSL developers:

In the past, we also offered:

What happened to W-Hat?

The group became inactive and faded into obscurity as its members grew up. In 2011 the owner of the group and land was quietly banned from Second Life.

Some of us still hang out in #sl on irc.synirc.net, but almost nobody still plays Second Life.

Can I...

Yes, please do. Everything on this site is free and open source and all the services are free to use and abuse in any manner you see fit.

Who runs this site?


Where'd the postcards go?

postcards.zip 5779 files, 1.0 GB


NEWS: 2019-03-01

It took 15 years, and almost another before we noticed, but LSL finally has llName2Key and llRequestUserKey. They were added about the same time our site was blocked grid-wide last year. Coincidence?

Back in 2005 when our database started, name2key was a hotly debated issue. People were losing their minds even over "responsible" databases with opt-out features. And 'lo the brave hero W-Hat proclaimed "wait, we are the bad guys, and we already have your key, and the world's not ending??", and it was good. And also terrible, and slow, and outdated, and smaller than what's-her-face's, and always missing that one key you really needed, and anyway I heard those w-hatters all got banned so their site is probably going away any day now.

Our traffic from in-world is still growing and we have no plans to shut down, but we are looking for a volunteer to run some new in-world resolvers since I'm still banned forever. Please tweet @www_hat or email masa@w-hat.com.

Look up keys

Enter as many names as you want, separated by anything other than spaces or periods.

Add keys to database

Paste keys in this box to add them to the database. Formatting and extraneous text don't matter; anything that doesn't look like a UUID will be ignored.


LSL example

string NAME  = "Masakazu Kojima";           // name to look up
string URL   = "http://w-hat.com/name2key"; // name2key url
key    reqid;                               // http request id

default {
    state_entry() {
        reqid = llHTTPRequest( URL + "/" + llEscapeURL(NAME), [], "" );

    http_response(key id, integer status, list meta, string body) {
        if ( id != reqid )
        if ( status == 499 )
            llOwnerSay("name2key request timed out");
        else if ( status == 400 )
            llOwnerSay("Invalid name: " + NAME);
        else if ( status == 404 )
            llOwnerSay("No key found for " + NAME);
        else if ( status != 200 )
            llOwnerSay("the internet exploded!!");
            llOwnerSay(NAME + "'s key is: " + body );

I don't want my key listed!

There is no reason to worry about somebody else having your key. It is not a secret, it is just an identifier that LSL scripts use to interact with you.

Other databases

Name Formats

Since Second Life introduced usernames, the concept of what a name is has gotten complicated. The service understands four types of names:

Nightly CSV

These files are updated daily at 08:00 UTC. Names are in Title Case resident name format, and the file is sorted by UUID.


lint for LSL

lslint is a tool to check the syntactic and semantic validity of Second Life LSL scripts.

Source and downloads

Releases and source are available on Makopoppo's GitHub.

Try online

Unfortunately, this feature is no longer available.


NOTICE 2019-02-28:

Please reach out via twitter or email if you are currently using or considering httpdb.

Pardon the mess

API documentation is a work-in-progress and the web interface is currently unavailable. They will be restored as soon as possible probably not be back.

Free storage for LSL scripts

httpdb provides free, persistent, off-site storage for Second Life LSL scripts via llHTTPRequest. You can store up to 250kb of data in the form of key/value pairs, and read or write the data from any script. You can share your data with other users, protect it with passwords, browse and manage your data on the web, and download backups.


There is no need to register to use httpdb, you can just start saving and retrieving data at any time.

Extra Space

If 250kb is not enough for your purposes, you can request more by emailing masa@w-hat.com. You are also welcome to use multiple accounts to store your data.


Related Projects

Tweets by www_hat