JOAAT (Jenkins One-At-A-Time) hash calculator for FiveM and GTA V.
Compute the same hashes that the RAGE engine uses internally for vehicle spawn names, weapon names, ped models, and every other string identifier. This is the algorithm behind FiveM's GetHashKey() native.
Jenkins One-At-A-Time (JOAAT) is a non-cryptographic hash function designed by Bob Jenkins. GTA V's RAGE engine uses it everywhere to convert human-readable names like adder or zentorno into unsigned 32-bit integers that the engine looks up internally.
When you call GetHashKey("adder") in a FiveM script, it returns 0xB779A091 — that's JOAAT. When you're building vehicle resource files, editing vehicles.meta, or debugging spawn issues, you'll often need to convert between names and hashes. That's what this tool does.
npm install -g fivem-joaat-hashOr use it as a library in your project:
npm install fivem-joaat-hash# Single hash
joaat adder
# → adder 0xB779A091
# Batch mode
joaat sultan zentorno t20
# → sultan 0x39DA2754
# → zentorno 0xAC5DF515
# → t20 0x6322B39A
# Check against known GTA V vehicles
joaat --reverse adder
# → adder 0xB779A091 ✓ known vehicle
joaat --reverse mycustomcar
# → mycustomcar 0x8A2B983F (not in known list)
# List all known vehicle hashes
joaat --list
# Decimal output instead of hex
joaat --decimal adder
# → adder 3078558353const { joaat, joaatHex, reverseLookup, KNOWN_VEHICLE_HASHES } = require('fivem-joaat-hash');
// Compute hash
joaat('adder'); // → 3078558353 (unsigned 32-bit)
joaatHex('adder'); // → "0xB779A091"
// Case-insensitive (just like RAGE engine)
joaat('ADDER') === joaat('adder'); // → true
// Reverse lookup against known vehicles
reverseLookup(0xB779A091); // → "adder"
reverseLookup('0xB779A091'); // → "adder" (hex strings work too)
reverseLookup(0x00000001); // → null (unknown hash)
// Access the full known vehicle list
Object.keys(KNOWN_VEHICLE_HASHES); // → ["adder", "zentorno", ...]The library includes 50+ common GTA V vehicle hashes for quick reference and reverse lookup. Run joaat --list to see them all, or access KNOWN_VEHICLE_HASHES in the API.
Categories included: Super, Sports, Muscle, SUVs, Sedans, Emergency, and Motorcycles.
- Vehicle resource files — YTD/YFT/YDR filenames are resolved by their JOAAT hash. If the hash doesn't match
vehicles.meta, the vehicle won't load. - Streaming — FiveM's streaming system maps resource names to hashes. Debugging streaming issues often requires computing hashes manually.
- Script development —
GetHashKey()in Lua/JS/C# all use JOAAT under the hood. Pre-computing hashes avoids runtime overhead in hot paths. - Meta file editing —
vehicles.meta,handling.meta,carvariations.metaall reference vehicles by both name and hash.
- FiveMRides Vehicle Converter — Convert and rename FiveM vehicle resources with proper meta file updates.
- FiveMRides Vehicle Optimizer — Optimize YTD textures and YFT models to reduce vehicle resource size and improve FiveM server performance.
- FiveM Texture Loss Fix Guide — Understand and fix the dreaded texture loss issue on FiveM servers.
npm testMIT - Copyright (c) 2026 FiveMRides