A tattoo script is judged on two things: how many designs it really offers, and whether the player can find them.
Avenida Team, 24 August 2026
Tattoo scripts are not in short supply on FiveM, and nearly all of them sell the same headline: the game’s full catalogue. That is true of most of them, and it is also the easy part. GTA V ships its tattoos, listing them takes a loop.
The hard part comes right after, and nobody talks about it: the game files two different places on the body into the same tab. A back piece and a chest piece both land in the torso, a nape piece lands in the head. Across 1615 designs, those two tabs turn endless. We wrote avenida_tattoo to fix that, and this article says how, with the numbers and the file names so you can check.
What does your server gain from this tattoo script?
A player who finds the design he came for, and takes three instead of one. He walks in, sits down, the artist gets to work, and he browses a catalogue sorted by body part. He adds to the cart, sees everything on his character at once, drops what he regrets, and pays once.
| What you install | What it changes on your server |
|---|---|
| 1615 designs, 26 DLC collections | The game’s entire catalogue, with no pack to buy on the side |
| The chest split from the back, the head from the neck | A player opens the back tab and sees back pieces only |
| A cart, not a payment per design | Average basket goes up, and the player judges the set before confirming |
| Laser removal | One more paid service, and a player who dares to try |
| 7 preconfigured shops, Cayo Perico included | You cover the map on install day |
| Price per collection or per zone | A rare design bills higher than a base one, without touching the code |
What does a FiveM tattoo script need to get right?
Six things, and the second one is the one nobody handles. A tattoo script has to list the whole catalogue, split the zones the game conflates, show the result on the character before payment, validate the price server side, share the ped decoration slot with other resources, and hook into your framework without you rewriting its config.
| Criterion | What this script saves you |
|---|---|
| Listing the game’s whole catalogue | A player who saw the design elsewhere and cannot find it on your server |
| Splitting the back from the chest and the neck from the head | A torso tab where chest pieces and back pieces are mixed together |
| Showing before billing | A tattoo paid for, regretted, and a ticket behind it |
| Validating the price server side | A modified client tattooing itself for free |
| Sharing the ped decoration slot | A haircut that wipes the tattoos, or the other way round |
| Detecting the framework on start | A resource that refuses to boot on your server |
How does a player get a tattoo on FiveM?
He walks into a tattoo shop and opens the menu, provided the server has installed one. GTA V does offer tattoos in single player and online, but a FiveM server does not carry them over on its own: with no dedicated script, a player keeps what he picked at character creation and cannot add anything.
With a shop placed on the map, he walks up to the marked point, confirms, and a menu opens. He picks the body part, browses the designs for that zone, adds several to the cart, watches them appear on his character as he goes, and pays once. If he changes his mind later, the laser removes the one he points at and leaves the rest.
If you are a player rather than a server owner, there is nothing you can install yourself, all of it happens server side. If your shop has only two unreadable tabs, or if your tattoos vanish on reconnect, your server’s team is who to tell. This article is written for them.
Why are the back and the chest mixed together in GTA?
Because two of its seven zones each hold two different places on the body. GTA sorts tattoos properly, and arms and legs are filed exactly where you would expect. But its torso zone holds the chest and the back, and its head zone holds the head and the neck. A player hunting for a back piece is therefore hunting through chest pieces, and a nape piece through faces.
We split those two zones into four, so the catalogue shows chest, back, head and neck instead of two catch-all tabs. The rest is untouched, the game already files it correctly.
That split does not exist in the game’s data, it had to be built design by design. This is where the 368 corrections live: 310 designs the game files under torso when they are worn on the back, and 58 it files under head when they are worn on the neck.
That number is verifiable, and here is where. The 368 corrections live in Config.Tattoo.SubZoneOverrides, an open file you can read before buying and extend afterwards. Each entry maps the design’s nameHash to one of the four sub-zones, chest, back, head or neck. If you find one we missed, you fix it yourself in a single line, without waiting on an update from us.
What interface does a FiveM tattoo script need?
A web interface that shows a catalogue, not a scrolling list. This is where catalogue size changes everything: with 1615 designs spread across nine tabs, a native list menu becomes unusable, however carefully it was built.
Ours is written in Svelte 5, served by the resource, fonts included: no CDN, and nothing leaves your players’ client for a third party. The only outbound request that can exist is the one you switch on yourself in config, toward your own thumbnail hosting, and the next section is devoted to it. The labels come from Rockstar’s own localisation rather than being retyped: a player who launches the game in Turkish reads the Turkish name of every design, and we translated nothing for that. Recent collections are merged according to the game build, so a design the player’s client cannot render is never listed.
The camera is anchored on the head bone, captured once so no animation can drag the framing, and it travels down the body with presets that follow the zone being browsed. On an arm zone, the character plays a forearm animation so the design faces you while you look at it. It is visible on the first screenshot.
Do you have to host your own tattoo images?
Yes, and we would rather tell you before the purchase than after. The script ships no image pack. By default, Config.Tattoo.ImageBaseUrl is empty and the interface shows numbered placeholders, as on both screenshots on this page.
The reason is simple: those 1615 visuals are captures of the game’s tattoos, and redistributing them with a paid resource is not something we will do. So you point ImageBaseUrl at your own hosting, and the interface fetches the thumbnails from there.
What that means for you in practice. With no image pack, your shop works: the player sees the design on his character, live, which is the best preview there is anyway. Thumbnails only help him spot things faster in the grid. Plenty of servers run perfectly well without, and those who want the illustrated grid host their images once and for all.
What do you gain depending on your appearance system?
The whole catalogue, and on vRP you gain more than your framework can do on its own. A tattoo script writes into the appearance resource you already run. Internally we speak the qb-clothing shape and convert on the way out, target by target.
| Your system | What you gain |
|---|---|
qb-clothing, own table | The entire catalogue. This is the script’s native shape. |
illenium-appearance, fivem-appearance | Every tattoo and every decoration. Two-tone overlays take their primary colour, their schema only carrying one. |
esx_skin | Tattoos and components. To keep the watch and bracelet as well, the script stores them in its own table. |
vRP | More than vRP can do on its own. vRP stores neither overlays nor ped decorations, so the script takes the whole character into avenida_skins. |
ESX, QBCore, vRP, standalone: what actually changes?
Nothing for you, and that is the point. The framework is detected on start through open bridge files. As on the rest of the family, we do not load @vrp/lib/utils.lua but talk to vRP through its own Proxy and Tunnel events, so the resource boots on a server that has no vRP at all.
What that does not cover, and we say it in console: vRP 2 and vRP 0.5 are not supported. vRP 2 is a different framework that kept the name, and the 0.5 proxy has no reply channel. The target is 1.0 and the forks built on it, vrpex, dunko, zabka, MM1212 and ZIRIX.
What is new for FiveM tattoo shops in 2026?
The full catalogue is no longer an argument, it has become the baseline. What separates tattoo scripts in 2026 is decided elsewhere: how the 1615 designs are sorted, the cart rather than paying one design at a time, and living alongside the other resources that touch the character.
Our latest published version is 1.2.0. This page tracks versions: when the resource moves, the date at the bottom of the article moves with it and the history says what changed.
Our own observations, on three points the store pages skip
The scene camera is measured on the player, not on the chair
A tattoo chair is a prop, and a prop’s origin is rarely where you sit down. From one chair to another, the gap reaches several metres. A camera pinned to the object therefore frames empty space in one shop out of two. Ours is measured on the player, which makes the scene identical whatever the set dressing.
A ped has a single decoration slot, shared by the whole server
Tattoos and hair bases live in the same slot, and clearing it clears it for everyone. It is the most common cause of “my tattoos are gone”. Our script puts back whatever avenida_barber and avenida_clotheshops own on every redraw, and the laser removes one design without touching the rest.
The price is recomputed on the server at payment time
The cart is built design by design, each one removable, and the total is recomputed server side from your own prices, never accepted from the client. A per DLC collection multiplier lets a rare design bill higher than a base one, and PricePerZone bills a back piece differently from a forearm. The laser keeps its own rate and is never multiplied.
The checklist before buying a tattoo script
| To check | The answer to expect |
|---|---|
| Is the back split from the chest, and the neck from the head? | Yes, otherwise those two tabs are catch-alls |
| Are the designs the game misfiles corrected? | Yes, and the list has to be open |
| Is there a cart, or a payment per design? | A cart, recomputed server side |
| Is laser removal included? | Yes, with its own rate |
| Are the thumbnail images supplied? | No, and an honest seller says so |
| Is the ped decoration slot shared? | Yes, otherwise the haircut drops |
| Are config, locales and bridges outside escrow? | Yes, otherwise you adapt nothing |
Frequently asked questions
How many tattoos are really included?
1615 designs, spread across 26 DLC collections, which is everything GTA V ships. No custom design is added, and none is removed, except that a design the player’s game build cannot render is not offered to him.
Does the script supply the catalogue images?
No. Config.Tattoo.ImageBaseUrl points at your hosting, and the interface shows numbered placeholders while it is empty. The live preview on the character works in every case. The documentation covers installation and the exports.
Can I bill differently depending on the body zone?
Yes. By default a single rate applies to the catalogue, with a per collection multiplier. Switching PricePerZone on bills a back piece differently from a forearm. The laser keeps its fixed rate.
How many shops are preconfigured?
Seven, in an open config file: Vespucci, Mission Row, Vinewood, Paleto Bay, Sandy Shores, Grapeseed and Cayo Perico. Each with its interaction point, the player position and the artist position.
How many in-game languages ship with it?
Fifteen, filled in and editable. These are the languages your players see, not to be confused with the six languages of this site. The tattoo names themselves do not come from our files but from the game’s localisation.
Other tattoo scripts on the market
To place things, here are a few names you will run into while searching. The list is in no way exhaustive and we are not linking them, each one is found under its own name.
vms_tattooshop · Rarx Tattoos · DeeP-Scripts Tattoo Shops 2.0 · rcore tattoo · ninjadev_tattoo
What separates them from ours is not the catalogue, they have it too. It is what was done with the catalogue once listed. If your server is first of all after a player run tattoo artist job, with employees and a buyable shop, several of these scripts are built for that, and we do not pretend otherwise.
Sources
Everything this article claims comes from files you can read yourself, before buying as well as after:
- the resource’s
README.md, for the compatibility table and the performance section; - its
CHANGELOG.md, where the absence of an image pack is stated in writing; config/tattoo.lua, for the seven shops, the prices and the 368 zone corrections you can count;- its
fxmanifest.lua, for theescrow_ignoreand the fifteen locale files.
Those four files are outside escrow. The screenshots on this page come from version 1.2.0, taken on 24 August 2026.
History of this page
- 24 August 2026 · first publication, on
avenida_tattoo1.2.0.
A question about a misfiled design, image hosting or a vRP fork we have not listed? Discord is the place, and the developer who wrote the script is the one who answers.



