FiveM Ped Models
A FiveM ped model identifies the character appearance used by an NPC or player. This reference contains 860 searchable model names and hashes for animals, ambient pedestrians, emergency services, gangs, military characters, service workers, and story characters.
Use the model name when possible because names such as a_m_y_hipster_01 are
easier to review than numeric hashes. FiveM natives accept the matching hash
returned by GetHashKey or the backtick syntax in Lua.
Search the Ped Model List
Browse the model previews, search by name or hexadecimal/decimal hash, or pick a category. Select a preview to inspect both hash formats, save a favorite, and copy a safe client-side Lua or JavaScript spawning example.
- Find a ped: Search for a name like
s_m_y_cop_01or choose a category. - Copy its name: Use Copy model for scripts and server configuration.
- Use it in code: Open the model details and copy the generated spawn example.
Find your next ped
Preview a character, copy its model name or hash, and get a ready-to-edit spawn example. No server connection required.
860 models available · Showing 1–24
- AnimalsHash
0xCE5FF074 - AnimalsHash
0x573201B8 - AnimalsHash
0x6A50A7F5 - AnimalsHash
0xAAB71F62 - AnimalsHash
0xA8683715 - AnimalsHash
0x14EC17EA - AnimalsHash
0x56E29962 - AnimalsHash
0xFCFA9E1E - AnimalsHash
0x644AC75E - AnimalsHash
0x18012A9F - AnimalsHash
0xD86B5A95 - AnimalsHash
0x8BBAB455 - AnimalsHash
0x2FD800B7 - AnimalsHash
0x6AF51FAF - AnimalsHash
0x471BE4B2 - AnimalsHash
0x4E8F95A2 - AnimalsHash
0x8D8AC8B9 - AnimalsHash
0x1250D7BA - AnimalsHash
0xB11BAB56 - AnimalsHash
0x06A20728 - AnimalsHash
0x431D501C - AnimalsHash
0x6D362854 - AnimalsHash
0xDFB55C81 - AnimalsHash
0xC3B52966
Spawn a Ped Safely in Lua
Always validate and load the model before calling CreatePed. A timeout prevents
an invalid or unavailable model from blocking the resource forever.
local function loadModel(modelName, timeoutMs)
local model = joaat(modelName)
if not IsModelInCdimage(model) or not IsModelValid(model) then
return nil, ("Invalid ped model: %s"):format(modelName)
end
RequestModel(model)
local deadline = GetGameTimer() + timeoutMs
while not HasModelLoaded(model) do
if GetGameTimer() >= deadline then
return nil, ("Timed out loading ped model: %s"):format(modelName)
end
Wait(0)
end
return model
end
local model, loadError = loadModel("a_m_y_hipster_01", 5000)
if not model then
print(loadError)
return
end
local ped = CreatePed(4, model, 215.76, -810.12, 30.73, 158.0, true, false)
SetEntityAsMissionEntity(ped, true, true)
SetModelAsNoLongerNeeded(model)SetModelAsNoLongerNeeded releases the streaming reference after the entity has
been created. Delete temporary peds with DeleteEntity when the resource no
longer needs them.
Spawn a Ped in JavaScript
const modelName = "s_m_y_cop_01";
const model = GetHashKey(modelName);
if (!IsModelInCdimage(model) || !IsModelValid(model)) {
throw new Error(`Invalid ped model: ${modelName}`);
}
RequestModel(model);
const deadline = GetGameTimer() + 5000;
while (!HasModelLoaded(model)) {
if (GetGameTimer() >= deadline) {
throw new Error(`Timed out loading ped model: ${modelName}`);
}
await Delay(0);
}
const ped = CreatePed(4, model, 441.2, -981.9, 30.7, 90.0, true, false);
SetEntityAsMissionEntity(ped, true, true);
SetModelAsNoLongerNeeded(model);Set a Player Model
Run player-model changes on the client. Load the model first, call
SetPlayerModel, and release it afterward.
local model = joaat("mp_m_freemode_01")
RequestModel(model)
while not HasModelLoaded(model) do
Wait(0)
end
SetPlayerModel(PlayerId(), model)
SetModelAsNoLongerNeeded(model)For production code, reuse the timeout and validation checks from the spawn example. Freemode models can also require component and appearance setup after the model change.
Ped Model Categories
| Category | Typical use |
|---|---|
| Animals | Wildlife, pets, and other animal models |
| Ambient female / male | General city and rural pedestrians |
| Scenario female / male | Workers, emergency services, and other role-specific NPCs |
| Gang female / male | Gang-related NPCs |
| Multiplayer | Models associated with GTA Online and multiplayer content |
| Cutscene | Characters primarily used in cutscenes |
| Story | Named story and ambient story characters |
| Story scenario female / male | Additional story-specific NPCs |
Common Problems
The ped is invisible or never spawns
Confirm that HasModelLoaded returns true before CreatePed. Also verify the
coordinates and make sure the entity is not spawning below the map.
The loading loop never ends
Validate the model with IsModelInCdimage and IsModelValid, and add a timeout.
A misspelled model name should fail cleanly instead of creating an infinite loop.
The ped disappears
For scripted NPCs, mark the entity as a mission entity and keep its network ownership in mind. A networked ped can migrate between clients unless your resource manages ownership and cleanup deliberately.
The player appearance resets
Framework appearance resources may reapply a saved skin after
SetPlayerModel. Integrate with the active appearance resource instead of
fighting its restore flow.
Related References
Source scope and usage notes
The upstream page describes its model list as a July 23, 2019 reference. This import records the page as retrieved, not a guarantee of coverage for every later DLC. Props and components are the counts published beside each model. Hexadecimal model hashes are calculated from the exact model name with joaat.
Images are served from this repository, not hotlinked. Empty source fields and unknown identifiers are retained as unknown. View the official source or download the complete dataset.