Migrate FiveM scripts from ESX to QBCore automatically
Migrating a server from ESX to QBCore is one of the most common — and most tedious — tasks in FiveM development. The frameworks use different function names, different event names and different ways to access player data. This tool handles the most common patterns automatically.
This tool handles common patterns but can't convert everything automatically. Complex scripts, custom events and framework-specific UI components will still need manual review. Always test converted scripts on a development server before going live.
Click Convert to see the QBCore output
ESX = nil→QBCore = nilTriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)→QBCore = exports['qb-core']:GetCoreObject()ESX.GetPlayerData()→QBCore.Functions.GetPlayerData()ESX.GetPlayerData→QBCore.Functions.GetPlayerDataPlayerData.job.name→PlayerData.job.namePlayerData.job.grade→PlayerData.job.grade.levelPlayerData.job.grade_name→PlayerData.job.grade.namePlayerData.job.grade_label→PlayerData.job.grade.labelPlayerData.identifier→PlayerData.citizenidAddEventHandler('esx:playerLoaded'→AddEventHandler('QBCore:Client:OnPlayerLoaded'AddEventHandler('esx:onPlayerDeath'→AddEventHandler('hospital:client:SetDeathStatus'TriggerEvent('esx:showNotification'→TriggerEvent('QBCore:Notify'TriggerServerEvent('esx:useItem'→TriggerServerEvent('QBCore:Server:UseItem'ESX.GetPlayerFromId(source)→QBCore.Functions.GetPlayer(source)ESX.GetPlayerFromId→QBCore.Functions.GetPlayerxPlayer.getJob().name→Player.PlayerData.job.namexPlayer.getJob().grade→Player.PlayerData.job.grade.levelxPlayer.getMoney()→Player.Functions.GetMoney("cash")xPlayer.addMoney(→Player.Functions.AddMoney("cash", xPlayer.removeMoney(→Player.Functions.RemoveMoney("cash", xPlayer.getAccount("bank").money→Player.Functions.GetMoney("bank")xPlayer.addAccountMoney("bank",→Player.Functions.AddMoney("bank",xPlayer.removeAccountMoney("bank",→Player.Functions.RemoveMoney("bank",xPlayer.getInventoryItem(→Player.Functions.GetItemByName(xPlayer.addInventoryItem(→Player.Functions.AddItem(xPlayer.removeInventoryItem(→Player.Functions.RemoveItem(ESX.ShowNotification(→QBCore.Functions.Notify(ESX.ShowAdvancedNotification(→QBCore.Functions.Notify(ESX.UI.Menu.Open(→-- Use ox_lib or qb-menu instead of ESX.UI.Menu.Open(ESX.UI.Menu.Close()→-- Close your menu using the new menu systemNeed QBCore scripts that are already built right?
600+ premium QBCore resources — no migration needed.