fivem-joaat-hash
v1.0.0
Published
JOAAT (Jenkins One-At-A-Time) hash calculator for FiveM & GTA V. Compute vehicle spawn name hashes via CLI or API.
Maintainers
Readme
fivem-joaat-hash
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.
What is JOAAT?
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.
Install
npm install -g fivem-joaat-hashOr use it as a library in your project:
npm install fivem-joaat-hashCLI Usage
# 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 3078558353API Usage
const { 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", ...]Known Vehicle Hashes
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.
Why This Matters for FiveM
- 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.
Related Tools
- 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.
Running Tests
npm testLicense
MIT - Copyright (c) 2026 FiveMRides
