<!-- fivemad.com, Markdown source of https://fivemad.com/docs/tools/particle-videos -->
> Source: https://fivemad.com/docs/tools/particle-videos
> Section: Tools
> Tags: particles, ptfx, video, effects, preview
> Tool: https://fivemad.com/particles
> Last updated: 2026-09-25
> Site map for assistants: https://fivemad.com/llms.txt

# Particle videos

Watch video previews of 2,300+ GTA V particle effects, filter by dictionary, and copy a ready FiveM Lua snippet for the effect you like.

Particle videos lets you see what a GTA V particle effect looks like before you put it in a script. It has 2,317 effects from 278 dictionaries, and 2,312 of them have a video clip recorded in game. Hover a card to play it, click it for the names and a Lua snippet.

Every snippet block on this page has a **Lua / JS / TS / C#** switcher in its corner. The choice is remembered across the site, and [the runtimes page](/docs/development/runtimes) explains what changes between them.

## What it is for

Effect names like `scr_xm_orbital_blast` or `ent_amb_fbi_door_smoke` tell you little. Testing each one in game means a restart per try. Here you scroll through a dictionary, watch the clips, and only take the one that fits into your script.

For the complete text list (2,907 effects, including those without a clip) use the [Particle Effects List](/tools/particles-list). Rows there that have a clip show a film icon linking back here.

## Quick start

1. Open [Particle videos](/particles).
2. Search for a word (`fire`, `explosion`, `water`, `smoke`) or pick a dictionary on the left.
3. Hover a card to play its clip. Turn on **Autoplay** to play every clip on screen as you scroll.
4. Click a card to open it.
5. In the window, pick a snippet mode, set the scale and copy the code.

## Browsing

| Control | What it does |
| --- | --- |
| Search box | Matches effect and dictionary names. Several words narrow the search. `#120` or `120` jumps to effect number 120. |
| Dictionary list (left, desktop) | Every dictionary with its effect count. Filter the list with the box on top. Click a dictionary again to clear it. **All dictionaries** shows everything. |
| Dictionary menu (phones and tablets) | Same as the list, as a menu next to the search box. |
| **Autoplay** | Off: a clip plays while you hover its card. On: every card on screen plays. Remembered in your browser. |
| **Clear filters** | Resets the search and the dictionary. |
| **Show more** | Cards load 48 at a time. |

Each card shows the effect number (`#id`), the effect name, its dictionary and a copy button for the name. Effects without a clip say **No preview**.

The search, dictionary and open effect are kept in the page URL (`/particles?q=fire&dict=core&fx=120`), so you can send someone a link to an exact effect.

## The effect window

| Part | What it does |
| --- | --- |
| Video | Plays the clip in a loop, with player controls. |
| **Effect**, **Dictionary**, **Both** | Copy the effect name, the dictionary, or both as `dict:effect`. |
| **Snippet** tabs | **At coords**, **On entity** or **Networked**. |
| **Scale** | Slider from 0.1 to 5. |
| Code block | The Lua snippet for the chosen mode and scale. |
| Arrows / counter | Previous and next effect in the current results (for example `3 / 48`). |

Keyboard: <kbd>Left</kbd> and <kbd>Right</kbd> go to the previous or next effect, <kbd>Esc</kbd> closes the window. Clicking outside also closes it.

## Snippet modes

| Mode | Native | Use it for |
| --- | --- | --- |
| **At coords** | `StartParticleFxNonLoopedAtCoord` | One-shot effect at the player's position, only this client sees it. |
| **On entity** | `StartParticleFxLoopedOnEntity` | Looped effect attached to the player, stopped after 5 seconds. |
| **Networked** | `StartNetworkedParticleFxNonLoopedAtCoord` | One-shot effect every nearby player sees. |

**At coords** for `core` / `ent_sht_steam` at scale 1:

```lua
local dict, name = 'core', 'ent_sht_steam'

RequestNamedPtfxAsset(dict)
while not HasNamedPtfxAssetLoaded(dict) do Wait(0) end
UseParticleFxAsset(dict)

-- One-shot effect at the player's position (only this client sees it).
local coords = GetEntityCoords(PlayerPedId())
StartParticleFxNonLoopedAtCoord(name, coords.x, coords.y, coords.z, 0.0, 0.0, 0.0, 1.00, false, false, false)
RemoveNamedPtfxAsset(dict)
```

**On entity**:

```lua
local dict, name = 'core', 'ent_sht_steam'

RequestNamedPtfxAsset(dict)
while not HasNamedPtfxAssetLoaded(dict) do Wait(0) end
UseParticleFxAsset(dict)

-- Looped effect attached to the player. Keep the handle to stop it later.
local ped = PlayerPedId()
local handle = StartParticleFxLoopedOnEntity(name, ped, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.00, false, false, false)

Wait(5000)
StopParticleFxLooped(handle, false)
RemoveNamedPtfxAsset(dict)
```

The snippet runs its `Wait` directly, so put it inside a `CreateThread` or a command handler. For a looped effect at a fixed spot (`StartParticleFxLoopedAtCoord`) or a custom duration, build the snippet in the [Particle Effects List](/tools/particles-list), which has those options.

## Tips

- Turn on **Autoplay** and pick a dictionary to skim through it quickly. With a slow connection, leave it off and hover instead.
- If the effect looks right in the clip but nothing shows in game, you probably used the wrong mode. Clips do not tell you whether an effect is looped: most names with `_loop`, `ent_amb_` or `_trail` are.
- Effect and dictionary names are the same in FiveM, alt:V and RageMP, so names you find here work in any of them.

## Limitations

- 5 effects in the list have no clip.
- Clips show the effect at its default scale and colour. Your scale and any colour changes will look different.
- The video previews were originally recorded for the alt:V ParticleDB.

## Related tools

- [Particle Effects List](/docs/tools/particles-list)
- [Sound Browser](/docs/tools/sound-browser)
