joaat Hashes in FiveM and GTA V

Under the hood, GTA V and FiveM do not pass around model names like adder; they pass a 32-bit number called a joaat hash. Knowing how it is computed saves you a lot of guesswork.

FiveM & RedM · 4 min read · By Chris Lenga · Updated

What joaat is

joaat is the Jenkins one-at-a-time hash. It reads a string one character at a time and mixes the bits into a 32-bit result. The joaat Hash Generator computes it for any name; for example adder hashes to 3078201489 (0xB779A091). Lua scripts usually print the same 32 bits as a signed number, -1216765807, so both forms turn up in code and forums.

GetHashKey and backtick hashes

In Lua you call GetHashKey("adder"), or write the name in backticks, `adder`, which FiveM’s Lua works out when the script is compiled, so it costs nothing at runtime. Both give the same number the game uses internally. Look common names up in the FiveM Model Hash Lookup.

Why case does not matter

The game’s version of joaat lowercases the string before hashing, so ADDER, Adder, and adder all produce the same value. If a hash does not match, check that you hashed the spawn name, not the display name the game shows, such as Truffade Adder.

Natives are the exception to all of this. Each native is identified by its own 64-bit hash, not by hashing its name, so joaat will not give you a native’s ID.

Try the tools

All guides →