A conversion on this site returns one zip. For an add-on car it holds a README and one resource folder with five things in it: fxmanifest.lua, a common/ folder with the mod's own meta files, a stream/ folder with its models and textures, and vehicle_names.lua, a small script for the car's in-game name. A replace mod comes back smaller: stream files only. This page goes through every file, with the output of real conversions inspected on 2026-10-10.
The layout of an add-on zip
This is the zip from a conversion of a 2015 Ford Mustang GT add-on from gta5-mods.com. The resource folder is mgt, the same word as the car's spawn name.
(zip root)
├── README-gta5modsconvertor.txt
└── mgt/
├── fxmanifest.lua
├── vehicle_names.lua
├── common/
│ ├── carcols.meta
│ ├── carvariations.meta
│ ├── dlctext.meta
│ ├── handling.meta
│ └── vehicles.meta
└── stream/
└── (the mod's .yft and .ytd files)| File or folder | What it is | Who wrote it |
|---|---|---|
fxmanifest.lua | The resource manifest: tells the server what to send to players and how the game should load it | The converter |
common/ | The mod's meta files, taken out of its dlc.rpf | The mod author |
stream/ | The mod's model and texture files, in one flat folder | The mod author |
vehicle_names.lua | Client script that gives the car's name key a text | This site, from the mod's vehicles.meta |
README-gta5modsconvertor.txt | Install steps and vehicle entries for QBCore, Qbox and ESX | This site |
Which meta files are in common/ depends on the mod. The converter extracts the ones the mod ships; it does not create any that are missing.
fxmanifest.lua
The manifest is the only file the server reads directly. This one is from a conversion of a Volkswagen Tiguan add-on that ships six meta files. The last line is the one this site appends; the rest is what the conversion wrote.
fx_version 'cerulean'
games { 'gta5' }
files {
'common/dlctext.meta',
'common/handling.meta',
'common/vehicles.meta',
'common/carcols.meta',
'common/carcontentunlocks.meta',
'common/carvariations.meta',
'common/*.meta'
}
data_file 'DLCTEXT_FILE' 'common/dlctext.meta'
data_file 'HANDLING_FILE' 'common/handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'common/vehicles.meta'
data_file 'CARCOLS_FILE' 'common/carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'common/carvariations.meta'
data_file 'CONTENT_UNLOCKING_META_FILE' 'common/carcontentunlocks.meta'
client_script 'vehicle_names.lua'What each part declares:
fx_version 'cerulean'is the manifest version the resource is written for. See fx_version cerulean.games { 'gta5' }says the resource is for GTA V.files { ... }lists the files that are sent to players. Each meta file is listed by name, followed by a wildcard for every.metaincommon/.- Each
data_fileline pairs a type with a path, so the game knows which system loads that file. A meta file needs both: an entry underfilesand adata_fileline. client_script 'vehicle_names.lua'runs the display-name script on each player's game.
Files in stream/ are not listed in the manifest. FiveM scans that folder on its own.
The data_file types for vehicle metas
| Type | File it loads |
|---|---|
HANDLING_FILE | handling.meta |
VEHICLE_METADATA_FILE | vehicles.meta |
CARCOLS_FILE | carcols.meta |
VEHICLE_VARIATION_FILE | carvariations.meta |
VEHICLE_LAYOUTS_FILE | vehiclelayouts.meta |
CONTENT_UNLOCKING_META_FILE | carcontentunlocks.meta |
CARVARIATIONS_FILE is not a valid type: carvariations.meta is loaded with VEHICLE_VARIATION_FILE. The DLCTEXT_FILE line in the manifest above does not give the car a name. dlctext.meta belongs to the single-player DLC system and FiveM has no usable data file type for it, which is why the zip carries vehicle_names.lua. More on the directive is in the wiki entry on data_file.
common/: the mod's meta files
The folder name common is the converter's choice; hand-built resources usually call it data. The name is free as long as the paths in the manifest match.
| File | Role |
|---|---|
| vehicles.meta | Defines the vehicle: <modelName> (the spawn name), <gameName> and <vehicleMakeName> (the name keys), <handlingId>, class, layout and audio |
| handling.meta | The driving values: mass, drive force, top speed, grip, suspension |
| carcols.meta | Mod kits (the tuning parts and where they attach) and siren settings |
| carvariations.meta | Colour combinations, the mod kit the car uses, plates and liveries |
| vehiclelayouts.meta | Custom seat and entry layouts; present only when the mod ships one |
| carcontentunlocks.meta | Content unlock data from the single-player DLC; in the Tiguan conversion, not in the Mustang one |
| dlctext.meta | Text registration for the single-player DLC; not used by FiveM |
These are the author's files, unchanged. The converter does not write, complete or tune them. If the car drives badly or sits too high, that is the mod's handling.meta, and you can change it yourself: understanding handling.meta explains the values and the Handling Editor edits them in the browser.
The value to note is <modelName> in vehicles.meta. That is the spawn name, the word you type to spawn the car and the one every framework entry uses.
stream/: models and textures
The files in stream/ are the car itself: they are sent to players' games as they are needed. The folder is flat: all files side by side, no subfolders. In the Tiguan conversion it held 16 files:
stream/
├── tiguan.yft
├── tiguan_hi.yft
├── tiguan.ytd
├── tiguan_bumper_01.yft
├── tiguan_chassis_01.yft
└── (11 more tuning part .yft files)name.yftis the model. See .yft files.name_hi.yftis the high-detail model shown up close.name.ytdis the texture dictionary: paint, interior, lights, badges. See .ytd files. It is often the largest file in the zip.- Other
.yftfiles are tuning parts (bumpers, roofs, plates), referenced fromcarcols.meta.
The file names must stay as they are: vehicles.meta and carcols.meta refer to them by name. To check sizes before the car goes on a live server, drop the zip into the Resource Inspector; it reads the zip in your browser and reports oversized assets, a model without its textures and manifest lines that point at nothing.
vehicle_names.lua: the name the game shows
The game does not print a car's name from vehicles.meta. It takes the key in <gameName> and looks up a text for it. An add-on brings no such text into FiveM, so the name reads NULL. vehicle_names.lua supplies the text. This is the script from the Mustang conversion, without its comment header:
if GetLabelText('MUSTANG') == 'NULL' then AddTextEntry('MUSTANG', 'Mustang') end -- spawn name: MGT
if GetLabelText('FORD') == 'NULL' then AddTextEntry('FORD', 'Ford') end -- manufacturerHow it works:
- There is one line per
<gameName>key and one per<vehicleMakeName>key found in the mod'svehicles.meta. A zip with several cars has a line for each. AddTextEntry(key, text)registers the text for the key on the player's game.- The
if GetLabelText(key) == 'NULL'guard means a line only acts when the key has no text yet. A base-game name, or a name another resource already set, is left alone. - The text is derived from the key, not from the mod's title:
MUSTANGbecomes "Mustang" andFORDbecomes "Ford". A key with digits in it, such asBMWI8, is kept as it is, because the converter cannot know where the words split.
How to rename the car
Open vehicle_names.lua in a text editor and change the last quoted value on the car's line. Leave the key alone:
if GetLabelText('MUSTANG') == 'NULL' then AddTextEntry('MUSTANG', 'Mustang GT 2015') end -- spawn name: MGTSave the file and restart the resource (ensure mgt in the server console). The new text applies from that restart.
When the zip has no vehicle_names.lua
- Replace conversions. They have no
vehicles.meta, so there is no key to name; the car keeps the stock vehicle's name. - Unusual zips. If the layout of a converted zip is not the one above, for example it already contains a script that sets the names, the zip is delivered as the conversion produced it.
- Zips downloaded before 10 October 2026. They were made before the script existed. Convert the mod again, or add the script by hand with the NULL name fix.
Garage and dealership scripts that keep their own vehicle list show the name from that list, not from this script. That is what the README entries are for.
README-gta5modsconvertor.txt
A plain text file at the root of the zip. It has the mod's name and source link, the install steps, a section on the name script listing each key and its text, and, for add-on zips, a section headed ADD THE CAR TO YOUR VEHICLE SHOP (QBCORE, QBOX, ESX). The car spawns without that step. It is for selling the car in a vehicle shop and showing its name in garages.
The entries are filled in for the zip: the spawn name is the car's real <modelName>, the name and brand are the same texts as in vehicle_names.lua. Three values cannot be known from a mod and are placeholders you must change before pasting: the price (100000), the category ('sedans') and, for QBCore, the shop ('pdm'). When the mod names no manufacturer, the brand reads 'Custom' and is a placeholder too. For a zip with more than four vehicles the first three are written out and the other spawn names are listed.
For the Mustang conversion the three entries look like this.
QBCore, for the Vehicles list in qb-core/shared/vehicles.lua:
{ model = 'mgt', name = 'Mustang', brand = 'Ford', price = 100000,
category = 'sedans', type = 'automobile', shop = 'pdm' },Qbox, for the table returned by qbx_core/shared/vehicles.lua:
mgt = {
name = 'Mustang',
brand = 'Ford',
model = 'mgt',
price = 100000,
category = 'sedans',
type = 'automobile',
hash = `mgt`,
},ESX, SQL for the vehicles table that esx_vehicleshop reads:
INSERT INTO `vehicles` (`name`, `model`, `price`, `category`) VALUES
('Ford Mustang', 'mgt', 100000, 'sedans');The README says where each one goes and what to restart. The full procedure, including the checks for when the car does not show up in the shop, is in the guides for QBCore, Qbox and ESX. For ESX the category must be a name that exists in your vehicle_categories table; for Qbox the shop only offers categories listed for it in its own config. If the entries already in your framework file look different from these, copy their shape and keep the values.
What a replace conversion returns
A replace mod has no data of its own, so its zip is smaller. We ran one replace sedan through the converter and got this:
(zip root)
├── README-gta5modsconvertor.txt
└── replace_resources/
├── fxmanifest.lua
├── common/ (empty)
└── stream/
├── oracle.yft
├── oracle_hi.yft
└── oracle.ytd- The folder is called
replace_resources, not after the car. Rename it before you install a second replace conversion, or one overwrites the other. - The stream files carry the stock car's file names, here the Oracle. Started as it is, the resource takes that stock car's place for everyone on the server, traffic included.
- There are no meta files and no
data_filelines: the manifest hasfx_version,gamesand afilesblock and nothing else. Spawn name, handling and sound stay those of the stock car. - There is no
vehicle_names.luaand the README has no framework entries, because the stock car is already named and already known to your framework.
This is one observed conversion; other replace mods differ in file names and file count. To give the car its own spawn name, see replace to add-on. The replace converter page covers how replace resources behave on a server.
What the zip does not contain
- No authored or tuned handling.
handling.metais the mod author's file. Nothing is generated, balanced or corrected. - No meta files the mod did not ship. A mod without
carvariations.metacomes back without one. - No custom engine sound pack. Audio files inside a mod are not carried over. The car uses the base-game sound named in its
vehicles.meta; adding custom engine sounds covers both that setting and separate sound packs. - No gameplay scripts. No shop, garage, keys or spawn command. The only script is
vehicle_names.lua, and it only sets texts. - No framework registration. The README entries are text for you to paste. Nothing is written to your framework files or your database.
- No optimisation. Textures and models are the size the author made them. The YTD Optimizer reduces texture sizes in the browser when the Resource Inspector flags them.
Install it in three lines
- Unzip, and copy the resource folder (
mgtin the example, not the whole zip) into your server'sresources/directory. - Add
ensure mgtto server.cfg, using the folder's exact name. - Restart the server and spawn the car with its
<modelName>.
The install guide has the long version with the checks for each step, and installing cars with txAdmin does the same through the txAdmin panel.
To see this layout for a car of your own, paste its gta5-mods.com link into the converter. The first 3 conversions are free without an account, and Unlimited is a one-time $15.
FAQ
What files are in a converted FiveM car zip?
For an add-on car: a README at the zip root and one resource folder with fxmanifest.lua, vehicle_names.lua, a common/ folder holding the mod's meta files (vehicles.meta, handling.meta, carcols.meta, carvariations.meta and whichever others the mod ships) and a stream/ folder holding its .yft models and .ytd textures. For a replace car: a README and a folder named replace_resources with a manifest and stream files only.
Why is the meta folder called common and not data?
That is the name the converter uses. FiveM does not care what the folder is called; only stream/ has a fixed name. The manifest's paths point at common/, so if you rename the folder, change every path in fxmanifest.lua too.
Can I delete vehicle_names.lua?
Yes. Delete the file and the client_script 'vehicle_names.lua' line at the end of the manifest together. The car still spawns; its name then has no text unless another resource sets one.
Does the script overwrite names I already set?
No. Each line checks first whether the key already has a text and does nothing if it has.
Are the QBCore, Qbox and ESX entries ready to paste?
The spawn name, name and brand are the car's own. The price, the category and the shop are placeholders, so change those three first. The entries follow the formats in the frameworks' repositories as checked on 2026-10-10; an older or modified framework can use a different shape.
Can I put several converted cars in one resource?
Yes, by merging them: one manifest, all stream files together, the meta files side by side and the lines of every vehicle_names.lua in one script. The Car Pack Builder merges resources under one manifest and checks for clashing spawn names; check that the pack keeps every car's name lines. How to build a car pack walks through it.
Is the output the same for every mod?
The structure is. The contents follow the mod: which meta files exist, how many tuning parts are in stream/, and what the keys in vehicles.meta are called.
Sources
- Zip of a real add-on conversion (2015 Ford Mustang GT) downloaded from this site on 2026-10-10: folder layout,
vehicle_names.luaand README - Manifest and stream folder of a real add-on conversion (Volkswagen Tiguan) and the zip of a real replace conversion, inspected on 2026-10-10
- FiveM docs: data files
- FiveM docs: resource manifest
- FiveM natives: AddTextEntry
- Vehicle list formats in the qb-core, qbx_core and ESX-Legacy-Addons repositories, read on 2026-10-10
Have a gta5-mods.com link ready?
Paste it into the converter and download a FiveM resource with the stream folder, meta files and fxmanifest.lua in place.
- 3 conversions free, no account needed
- 2 more free if you leave an email
- After that: $15 once for unlimited conversions and the Pro tools. No subscription, 14-day refund policy