Var FiveM
ScriptsBundlesSubscriptionsDocs
VAR
Var FiveM
ScriptsBundlesSubscriptionsDocs
Theme CustomizerAboutContact
Shop Now
GUIDE

~/guides/fivem-animation-list

FiveM Animation List

-- reference · updated august 2026 · var fivem team
-- 64 verified dict+clip pairs · 20,179 base-game anim dicts · taskplayanim + scenarios

This FiveM animation list is a curated reference of real anim dictionary and clip pairs you pass to TaskPlayAnim: the two values that make a ped smoke, wave, lean, sit, dance or hold a clipboard. Every pair below is verified against the DurtyFree GTA data dumps, grouped by use, with the exact Lua to request the dictionary and play it, a note on scenarios, and how to find any of the 20,000+ dictionaries in the game.

-- index

  1. 01How animations work
  2. 02Anim dict and clip list
  3. 03Scenarios vs animations
  4. 04Lua snippets
  5. 05Finding more dictionaries
  6. 06Related scripts
  7. 07FAQ

How animations work in FiveM

A FiveM animation is two strings: an animation dictionary (the anim dict) and a clip name (also called the anim name). The dictionary, for example amb@world_human_smoking@male@male_a@base, is a container that GTA V streams in on demand; the clip, like base, is the specific movement inside it. To play one you request the dictionary with RequestAnimDict(dict), wait until HasAnimDictLoaded(dict) returns true, then call TaskPlayAnim with both values. Miss the request step and nothing plays, which is the single most common animation bug in FiveM.

TaskPlayAnim takes the ped, the dict, the clip, a blend-in and blend-out speed, a duration, a flag, a playback rate and three lock booleans. The flag is a bitfield: 1 loops the clip, and you combine bits for upper-body-only or hold-last-frame behaviour, easiest to work out with Vespura's animation flags calculator. A duration of -1 plays until you stop it, and ClearPedTasks(PlayerPedId()) ends any animation. Because dictionaries and clips ship with the base game, the same pair works on ESX, QBCore, Qbox and standalone; only the code around it changes.

FiveM animation list: anim dict and clip pairs

The table below is a curated set of 64 animation dict and clip pairs, grouped by what they are used for on a roleplay server: idles and leaning, sitting, hands-up and restrained reactions, gestures, job loops, leisure animations, phone poses, paired social animations, dances and eating. Every row was checked against the DurtyFree GTA data dumps, the dictionary exists and the clip is listed inside it, so each pair is ready to drop into TaskPlayAnim. Names are case sensitive, copy them exactly.

GroupAnimationAnim dictClip name
IdleHang out (arms folded)amb@world_human_hang_out_street@male_a@basebase
Cross armsamb@world_human_hang_out_street@female_arms_crossed@idle_aidle_a
Lean back on wallamb@world_human_leaning@male@wall@back@hands_together@basebase
Lean on wall (phone)amb@world_human_leaning@male@wall@back@mobile@basebase
Impatient waitamb@world_human_hang_out_street@female_hold_arm@idle_aidle_a
Warm hands at fireamb@world_human_stand_fire@male@idle_aidle_a
SitSit on chairamb@prop_human_seat_chair@male@generic@basebase
Sunbathe on backamb@world_human_sunbathe@male@back@basebase
GroundSlumped on sideamb@world_human_bum_slumped@male@laying_on_left_side@idle_aidle_b
ReactionHands up (mugged)random@mugging3handsup_standing_base
Surrender / hands upanim@mp_player_intuppersurrenderidle_a
Cuffed (behind back)mp_arrestingidle
Cuffed (walk)anim@move_m@prisoner_cuffedidle
Intimidate (point)reaction@intimidation@1hintro
GestureWave hellofriends@frj@ig_1wave_a
Wave (celebration)anim@mp_player_intcelebrationmale@wavewave
Point aheadgestures@f@standing@casualgesture_point
Shruggestures@m@standing@casualgesture_shrug_hard
Hello gesturegestures@m@standing@casualgesture_hello
No waygestures@m@standing@casualgesture_no_way
Damngestures@m@standing@casualgesture_damn
Thumbs upanim@mp_player_intcelebrationmale@thumbs_upthumbs_up
Peace signmp_player_int_upperpeace_signmp_player_int_peace_sign
Slow clapanim@mp_player_intcelebrationmale@slow_clapslow_clap
Facepalmanim@mp_player_intcelebrationfemale@face_palmface_palm
Saluteanim@mp_player_intuppersaluteidle_a
Gang signmp_player_int_uppergang_sign_amp_player_int_gang_sign_a
Blow a kissanim@mp_player_intcelebrationfemale@blow_kissblow_kiss
Air guitaranim@mp_player_intcelebrationfemale@air_guitarair_guitar
Jazz handsanim@mp_player_intcelebrationfemale@jazz_handsjazz_hands
Knuckle crunchanim@mp_player_intcelebrationfemale@knuckle_crunchknuckle_crunch
JobHold clipboardamb@world_human_clipboard@male@basebase
Cop idleamb@world_human_cop_idles@male@basebase
Janitor sweepamb@world_human_janitor@male@basebase
Gardener plantamb@world_human_gardener_plant@male@basebase
Hammeramb@world_human_hammering@male@basebase
Weldamb@world_human_welding@male@basebase
Play guitaramb@world_human_musician@guitar@male@basebase
Vehicle mechanicamb@world_human_vehicle_mechanic@male@basebase
Binocularsamb@world_human_binoculars@male@basebase
LeisureSmoke cigaretteamb@world_human_smoking@male@male_a@basebase
Light cigaretteamb@world_human_smoking@male@male_a@enterenter
Drink coffeeamb@world_human_drinking@coffee@male@idle_aidle_a
Drink beeramb@world_human_drinking@beer@male@idle_aidle_a
Cheer / clapamb@world_human_cheering@male_abase
Yogaamb@world_human_yoga@male@basebase_a
Push-upsamb@world_human_push_ups@male@basebase
Sit-upsamb@world_human_sit_ups@male@basebase
Jog on the spotamb@world_human_jog_standing@male@idle_aidle_a
Stand and fishamb@world_human_stand_fishing@idle_aidle_a
PhonePhone call (listen)cellphone@cellphone_call_listen_base
Read text on phonecellphone@cellphone_text_read_base
Selfie (peace)cellphone@self@franklin@peace
SocialHandshakemp_ped_interactionhandshake_guy_a
Hugmp_ped_interactionhugs_guy_a
Give / hand overmp_commongivetake1_a
CPR chest pumpmini@cpr@char_a@cpr_strcpr_pumpchest
Carry a boxanim@heists@box_carry@idle
DanceSolo dance (male)anim@amb@nightclub@mini@dance@dance_solo@male@var_a@high_center
Solo dance (female)anim@amb@nightclub@mini@dance@dance_solo@female@var_a@med_center
Casual dancemissfbi3_snipingdance_m_default
Bartender pouranim@amb@clubhouse@bar@drink@idle_aidle_a_bartender
EatEat foodmp_player_inteat@burgermp_player_int_eat_burger
Drink from bottlemp_player_intdrinkloop_bottle

Two families cover most of what servers use. The amb@world_human_* dictionaries are the ambient world animations the game plays on NPCs: smoking, drinking coffee, leaning, clipboards, welding, yoga. The mp_player_* and anim@mp_player_int* dictionaries hold the GTA Online player interactions and celebrations: waves, thumbs up, salutes, peace signs, slow claps. Learn those two prefixes and you can guess your way to a lot of animations before you even open a browser.

Scenarios vs animations

Alongside TaskPlayAnim there is a second way to make a ped do something: scenarios. A scenario is a named, prebuilt behaviour like WORLD_HUMAN_SMOKING or WORLD_HUMAN_CLIPBOARD started with TaskStartScenarioInPlace(ped, name, 0, true). You do not request a dictionary and you do not pass a clip, the game handles the enter, loop and exit for you. The trade-off is control: scenarios are quick and reliable but you cannot blend or set flags the way TaskPlayAnim allows. The base game ships 247 scenarios; the smoking, coffee and clipboard behaviours in the table above also exist as scenarios, which is why some emote menus use one or the other for the same visible action. Stop a scenario the same way you stop an animation, with ClearPedTasks.

Lua snippets: play an animation, a config, a scenario

The core recipe is request, wait, play. This snippet loops the smoking base animation on the local player and frees the dictionary once the clip is running, which is safe because the animation keeps playing after RemoveAnimDict.

-- client.lua | play a looping animation on the local player
local dict = "amb@world_human_smoking@male@male_a@base"
local clip = "base"

CreateThread(function()
    RequestAnimDict(dict)
    while not HasAnimDictLoaded(dict) do
        Wait(0)                -- wait until the dictionary is streamed in
    end

    TaskPlayAnim(PlayerPedId(), dict, clip,
        8.0, -8.0, -1,         -- blend in, blend out, duration (-1 = until stopped)
        1,                     -- flag 1 = loop (see the flags calculator for combos)
        0.0, false, false, false)

    RemoveAnimDict(dict)       -- free memory, the clip keeps playing
end)

-- stop it later with:
-- ClearPedTasks(PlayerPedId())

In a real resource you keep animations in a config table and register a command or keybind per entry, so server owners can add pairs from the list above without touching the logic. If you would rather not build this at all, a FiveM emote script gives players a searchable menu over this exact kind of table.

-- client.lua | drive animations from a config table + commands
local Anims = {
    wave  = { dict = "friends@frj@ig_1",                 clip = "wave_a" },
    clap  = { dict = "amb@world_human_cheering@male_a",  clip = "base" },
    lean  = { dict = "amb@world_human_leaning@male@wall@back@hands_together@base", clip = "base" },
}

local function playAnim(name)
    local a = Anims[name]
    if not a then return end
    RequestAnimDict(a.dict)
    while not HasAnimDictLoaded(a.dict) do Wait(0) end
    TaskPlayAnim(PlayerPedId(), a.dict, a.clip, 8.0, -8.0, -1, 1, 0.0, false, false, false)
end

for name in pairs(Anims) do
    RegisterCommand(name, function() playAnim(name) end, false)
end

Scenarios are a one-liner when you do not need blend or flags, useful for NPC props and quick ambient poses.

-- client.lua | scenarios: one line, no RequestAnimDict needed
TaskStartScenarioInPlace(PlayerPedId(), "WORLD_HUMAN_SMOKING", 0, true)

-- other verified scenario names:
--   WORLD_HUMAN_AA_COFFEE, WORLD_HUMAN_CLIPBOARD,
--   WORLD_HUMAN_COP_IDLES, WORLD_HUMAN_MUSCLE_FLEX, WORLD_HUMAN_LEANING

-- stop the scenario:
ClearPedTasks(PlayerPedId())

Finding more animation dictionaries

This page curates the pairs servers reach for most, but the game holds far more: the DurtyFree gta-v-data-dumps put the count at 20,179 dictionaries. When you need one that is not listed here, three references cover everything. alexguirre's GTA V Animations List lets you preview clips, Pleb Masters Forge has a searchable data browser, and the DurtyFree data dumps ship animDictsCompact.json, a machine-readable file with every dictionary and its clips, which is what verified this table.

Whichever source you use, the workflow is the same: copy the dictionary and clip exactly (they are case sensitive), test in-game, and if the ped just stands there check that you requested the dictionary and that your server build is new enough. DLC animations from casino, tuners, drug wars and later packs only exist on higher builds, set with sv_enforceGameBuild in your server.cfg. See the TaskPlayAnim native reference for the full parameter list.

Scripts that use these animations

If you would rather give players the animations than script each one, several Var FiveM resources are built on this same dict-and-clip foundation. Var-Emote is the direct fit: an advanced NUI emote menu with 381 emotes, 222 dances, 273 prop emotes, 114 walk styles and 42 shared dual emotes, plus an 8-slot wheel, Numpad binds and a 3D placement mode, so players trigger any of these animations without touching Lua. Var-Creator uses ped mood and expression animations in its take-a-picture mode with 30+ presets, and a FiveM barbershop script seats the ped in the chair with synced scissors animations while editing. All of them run on ESX and QBCore and ship in Escrow, Partially Open and Open Source variants.

Frequently asked questions

How do I play an animation in FiveM?

Call RequestAnimDict(dict) client-side, wait in a loop until HasAnimDictLoaded(dict) returns true, then call TaskPlayAnim(ped, dict, clip, blendIn, blendOut, duration, flag, rate, lockX, lockY, lockZ). Flag 1 loops the clip and duration -1 keeps it playing until you call ClearPedTasks. Skipping RequestAnimDict is the number one reason an animation does nothing.

What is an anim dict and a clip name in FiveM?

GTA V groups animations into dictionaries (anim dicts) like amb@world_human_smoking@male@male_a@base, and each dictionary contains one or more clips (also called anim names) like base or idle_a. TaskPlayAnim needs both: the dictionary to stream and the exact clip inside it. The pairs in the table above are the two values you pass.

What is the difference between an animation and a scenario?

An animation is a dict plus a clip played with TaskPlayAnim, and you control blend, duration and flags. A scenario is a prebuilt behaviour like WORLD_HUMAN_SMOKING started with TaskStartScenarioInPlace, no dictionary needed. Scenarios are quicker to trigger but give you less control. Both are stopped with ClearPedTasks.

Why does my FiveM animation not play?

The three usual causes: you did not request the dictionary with RequestAnimDict and wait for HasAnimDictLoaded, the dict or clip name is misspelled (they are case sensitive), or your server game build predates that animation. Newer DLC dicts need a higher build set with sv_enforceGameBuild in server.cfg.

Where can I find the full list of FiveM animation dictionaries?

The complete set is over 20,000 dictionaries. The DurtyFree gta-v-data-dumps repository lists every dictionary and clip name in animDictsCompact.json, alexguirre's GTA V Animations List lets you preview them, and Pleb Masters Forge has a searchable browser. The table on this page is a curated set of the most used pairs, each verified against the DurtyFree dump.

Can I use these animations on ESX and QBCore servers?

Yes. Animation dictionaries and clips come from the base game, not from a framework, so the same dict and clip pairs work identically on ESX, QBCore, Qbox and standalone servers. Only the surrounding script that triggers TaskPlayAnim changes between frameworks.

-- var-fivem.com

Give players every animation, no Lua required

Var-Emote wraps 1,000+ animations, dances, prop and dual emotes, the emote wheel and 3D placement into one NUI menu. Instant Tebex delivery, or browse the full library live on the test server first.

View Var-EmoteTry it live

Related: FiveM emote list · FiveM ped list · FiveM blips list

VAR
Var FiveM

Premium FiveM scripts. Low resmon, high quality. Built for ESX, QBCore & Standalone.

28scripts
1,500+sales

Scripts

  • Marketplace
  • Bundles
  • Subscriptions
  • Theme Customizer

Most Popular

  • Supermarket Simulator
  • FiveM Casino Script
  • FiveM Coin Shop
  • FiveM Emote Menu
  • FiveM Paintball Script
  • FiveM Clothing Shop Script
  • FiveM Interaction Script
  • FiveM Character Creator

Resources

  • Free Scripts
  • Guides
  • Documentation
  • Support

Company

  • About
  • Contact
  • Discord

Legal

  • Terms
  • Privacy
  • Refunds

© 2026 Var FiveM. All sales final.

Payments byTebex