Skip to content

Convert

Adding a resource

Drop the zipped resource folder or paste a public GitHub link. Reading it is free and takes a second.

Zipping the resource

The Framework Converter takes one resource per upload, as a .zip. Zip the resource folder itself, the one that holds fxmanifest.lua. Both layouts below work:

esx_shops.zip
  esx_shops/fxmanifest.lua
  esx_shops/server/main.lua

esx_shops.zip
  fxmanifest.lua
  server/main.lua

One wrapping folder is removed, and its name becomes the resource name. Upload one resource per zip, not a category folder such as [esx_addons]. Older resources with __resource.lua instead of fxmanifest.lua work too; the manifest is brought up to date on the way.

Tick the checkbox, then press Choose a file or drop the zip on the box. A bar shows the upload, and the resource opens a second later.

  1. 1. Choose a file: or drop the zip on the box
  2. 2. Fetch: paste a public GitHub repository instead
  3. 3. I am allowed to convert this resource: tick it first, the buttons stay grey until you do

From GitHub

Paste the link to a public GitHub repository into the field under the drop zone and press Fetch. The Framework Converter downloads the main branch, or master when there is no main.

  • For another branch, paste the link to it: https://github.com/author/resource/tree/branch-name.
  • Only public repositories work. For a private one, download it as a zip and upload that.
  • The repository should hold one resource, with fxmanifest.lua at its root.

Your right to convert it

Before any upload the Framework Converter asks you to confirm: I am allowed to convert this resource. You wrote it, you bought it with a licence that permits changes, or it is open source. Choose a file and Fetch stay grey until the box is ticked.

Many paid FiveM scripts are sold under licences that forbid changes. Check the licence of a bought script before you convert it.

Escrow-protected resources

Resources protected by the Cfx.re asset escrow contain encrypted .fxap files. Their code cannot be read, so the upload is refused with This resource is escrow-protected. Ask the author for an unencrypted version or a build for your framework.

What gets read and what travels along

  • Lua files

    Rewritten for the target framework, one by one.
  • Locale files

    Rewritten into the locale format of the target. For Qbox and ox_core they become JSON.
  • fxmanifest.lua

    Rebuilt: dependencies, script lists and file declarations for the target.
  • HTML, JavaScript, JSON, SQL and other text

    Rewritten only when they contain framework code. Otherwise carried over as they are.
  • Images, sounds, fonts, stream files

    Not converted. They come back in the zip at the same path.

Files the converter leaves unchanged are marked AS-IS in the file list of the result. Here esx_joblisting went to Qbox: its English locale became JSON, and its SQL file came along unchanged.

  1. 1. locales/en.json: was locales/en.lua
  2. 2. esx_joblisting.sql AS-IS: SQL is carried over unchanged

Editor folders and build output such as .git, node_modules, .vscode and __MACOSX are ignored.

Size limits

  • Zip size

    25 MB
  • Unpacked size

    80 MB
  • Files in the zip

    3,000
  • One file

    2 MB. Larger files are skipped and named.
  • Lua files

    250 per resource

A resource over the Lua file limit is refused with a message to split it. Large single files are fine: they are converted in pieces.