Skip to Content
Game ReferencesPed Models

FiveM Ped Models

A FiveM ped model identifies the character appearance used by an NPC or player. This reference contains 474 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

Search by model name, hexadecimal hash, or category. The model names are case-insensitive, but copying the exact lowercase name avoids configuration and support mistakes.

474 entries
Model NameHashCategory
a_c_boarAnimals
a_c_cat_01Animals
a_c_chickenhawkAnimals
a_c_chimpAnimals
a_c_chopAnimals
a_c_cormorantAnimals
a_c_cowAnimals
a_c_coyoteAnimals
a_c_crowAnimals
a_c_deerAnimals
a_c_dolphinAnimals
a_c_fishAnimals
a_c_henAnimals
a_c_huskyAnimals
a_c_killerwhaleAnimals
a_c_mtlionAnimals
a_c_pigAnimals
a_c_pigeonAnimals
a_c_poodleAnimals
a_c_pugAnimals
a_c_rabbit_01Animals
a_c_ratAnimals
a_c_retrieverAnimals
a_c_rottweilerAnimals
a_c_seagullAnimals
a_c_sharkhammerAnimals
a_c_sharktigerAnimals
a_c_shepherdAnimals
a_c_stingrayAnimals
a_c_westyAnimals
a_f_m_beach_01Ambient
a_f_m_bevhills_01Ambient
a_f_m_bevhills_02Ambient
a_f_m_bodybuild_01Ambient
a_f_m_business_02Ambient
a_f_m_downtown_01Ambient
a_f_m_eastsa_01Ambient
a_f_m_eastsa_02Ambient
a_f_m_fatbla_01Ambient
a_f_m_fatcult_01Ambient
a_f_m_fatwhit_01Ambient
a_f_m_ktown_01Ambient
a_f_m_ktown_02Ambient
a_f_m_prolhost_01Ambient
a_f_m_salton_01Ambient
a_f_m_skidrow_01Ambient
a_f_m_soucent_01Ambient
a_f_m_soucent_02Ambient
a_f_m_soucentmc_01Ambient
a_f_m_tourist_01Ambient
Page 1 of 10

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

CategoryTypical use
AnimalsWildlife, pets, and ambient animals
AmbientGeneral city and rural NPCs
EmergencyPolice, fire, and medical roles
GangGang members and related scenarios
MilitaryMilitary NPCs and guarded locations
ServiceMechanics, workers, and service roles
StoryNamed GTA V story characters

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.