Skip to Content
Game ReferencesPed Models
Report an error
Open in ChatGPTOpen in Claude

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.

  1. Find a ped: Search for a name like s_m_y_cop_01 or choose a category.
  2. Copy its name: Use Copy model for scripts and server configuration.
  3. Use it in code: Open the model details and copy the generated spawn example.
Visual model browser

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.

Download JSON

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

CategoryTypical use
AnimalsWildlife, pets, and other animal models
Ambient female / maleGeneral city and rural pedestrians
Scenario female / maleWorkers, emergency services, and other role-specific NPCs
Gang female / maleGang-related NPCs
MultiplayerModels associated with GTA Online and multiplayer content
CutsceneCharacters primarily used in cutscenes
StoryNamed story and ambient story characters
Story scenario female / maleAdditional 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.

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.