FiveM Framework Comparison
Choose a FiveM framework around your required scripts, your developers and the server you actually want to run. QBCore and ESX Legacy are candidates for resource-led roleplay servers; Qbox adds its own features and a documented QBCore compatibility bridge. ox_core, ND Core and vRP offer different development models. A standalone server is also an option when you do not need a shared roleplay economy.
This guide compares those six frameworks and the standalone approach, not every private fork or server pack. A framework supplies shared gameplay services and APIs; it is not FXServer itself or the txAdmin management panel. See Cfx.re’s framework introduction for the platform-level distinction.
Research reviewed: September 22, 2026. Technical descriptions below link to project documentation, source repositories and installation guides. The recommendations are editorial judgments, not benchmark results. No market-share percentages, guaranteed player counts or unsourced speed rankings are used.
Framework comparison at a glance
The technical details behind this summary are linked in the following sections. “Good fit” means a useful starting point for evaluation, not a universal winner.
| Option | Core and development model | Good fit | Main tradeoff to check |
|---|---|---|---|
| QBCore | qb-core; Lua core with separate QB resources | A server whose required resources explicitly support QBCore | A QB label does not identify the inventory, phone or resource version a script expects |
| ESX Legacy | es_extended; Lua core and ESX addons | An existing ESX server or a new project built around ESX-compatible resources | Older ESX scripts and third-party inventory integrations need version-specific checks |
| Qbox / QBX | qbx_core; Lua, export-based API and a QB bridge | A QB-oriented server that wants Qbox’s integrated character, job and queue features | The bridge has limits; inventory and database migration are separate work |
| ox_core | ox_core; Lua integration and a JavaScript/TypeScript package | A developer-led server assembling its own gameplay systems | Plan the gameplay integrations and, when building from source, the build toolchain |
| ND Core | ND_Core; Lua API, ND addons and optional compatibility adapters | A server that prefers ND’s character, vehicle and group model | Validate the exact QB/ESX adapter coverage and addon dependencies |
| vRP 2 | vrp; Lua with an object-oriented extension model | A team maintaining vRP or deliberately building vRP 2 extensions | vRP versions and community forks are not interchangeable |
| Standalone | FXServer resources without a shared RP core | Racing, freeroam, minigames or a custom game mode | Shared characters, money, jobs and persistence must be added where needed |
Project facts
Framework websites and GitHub repositories
| Framework | Website and documentation | Core repository | FiveM Docs guide |
|---|---|---|---|
| QBCore | qbcore.net — community guides | qbcore-fivem/qb-core | QBCore overview |
| ESX Legacy | ESX website · Documentation | esx-framework/esx_core | ESX overview |
| Qbox | Qbox website · Documentation | Qbox-project/qbx_core | Qbox overview |
| ox_core | Overextended website · ox_core documentation | overextended/ox_core | ox_core overview |
| ND Core | ND website and documentation | ND-Framework/ND_Core | ND Core overview |
| vRP | vRP website and documentation | vRP-framework/vRP | vRP and legacy frameworks |
The QBCore website link intentionally points to qbcore.net, an independent
community documentation site, not the upstream maintainer. The separate GitHub
link points to the framework source. Older qbcore-framework/qb-core links
currently redirect to qbcore-fivem/qb-core; use the resolved repository when
checking source or reporting a core bug.
How to check maintenance
Follow each repository’s releases, commits and issue discussions before choosing a version. Record the release tag or commit you test, including dependencies and your deployment recipe. An accessible repository, a recent push or a large star count alone is not evidence of production readiness.
In particular, distinguish ESX Legacy, the project documented in the current
ESX installation guide, from an old ESX server pack. For vRP, check the major
version and the fork owner. For ox resources, check the exact repository and its
current documentation rather than assuming every project with an ox_ prefix
has the same maintainer or support status.
Stack facts
A core dependency, an optional integration and a recipe’s installed resource are different things. Do not treat an inventory mentioned here as a promise that every inventory script is compatible.
| Framework | Persistence and tooling | Inventory relationship | Installation source |
|---|---|---|---|
| QBCore | The upstream recipe installs oxmysql and imports its SQL schema | qb-inventory is a separate QB resource; inspect the recipe and any replacement’s adapter | QBCore txAdmin recipe |
| ESX Legacy | The installation guide uses MariaDB | Match the installed ESX release, inventory resource and addon APIs | ESX installation |
| Qbox | oxmysql, ox_lib; documented minimum MariaDB 10.9.0 | ox_inventory is listed as a core dependency | Qbox installation · Core dependencies |
| ox_core | oxmysql, ox_lib; documented MariaDB 11.4+; release download or source build | ox_inventory is recommended but optional in the core installation docs | ox_core installation and integration |
| ND Core | oxmysql, ox_lib; MariaDB in the setup guide | ox_inventory and ox_target are optional dependencies | ND setup |
| vRP 2 | A separate database-driver resource and configuration in cfg/base.lua | Includes an inventory system and an extension model | vRP deployment · Core features |
Database minimums are requirements reported by those projects, not recommendations to install an old database release. Follow the current installation guide for the version you deploy. A recipe gets resources installed; it does not test your custom economy, access controls or restore procedure for you.
Who each one is for
QBCore
Start by evaluating QBCore when your must-have jobs, phone, inventory and other
resources target the QB ecosystem. Its upstream project separates the
core ,
inventory and
deployment recipe .
That separation matters: installing qb-core alone is not the same as deploying
a complete resource collection.
Strength: you can choose a set of QB resources around the same core API. Watch for: a resource may also depend on a particular inventory, banking implementation or modified core. Ask for those requirements before buying it.
For example, test an item purchase all the way through payment, inventory storage, reconnect and use of that item. A script starting without errors is a weaker test.
Continue with QBCore installation and QBCore community documentation .
ESX Legacy
Evaluate ESX when your existing server, developers or essential resources already
use its APIs. The ESX resource guide distinguishes
es_extended from addon systems such as jobs, societies, shops and garages.
Our installation guide
provides a txAdmin path; “Legacy” in the project name is not, by itself, a reason
to treat that project as an obsolete server pack.
Strength: an ESX-focused resource collection can share the framework’s player, job and account model. Watch for: “supports ESX” is incomplete unless the vendor also specifies the version and integration requirements.
For an inherited ESX server, first compare the cost of updating its current resources with the cost of rewriting integrations and migrating persistent data. Changing frameworks should solve a specific problem, not just change the label.
Continue with ESX installation.
Qbox
Qbox originated as a QBCore fork but has its own export-based API. Its
core README lists built-in
multicharacter, multiple jobs/gangs, queueing and persistent player vehicles,
alongside dependencies on oxmysql, ox_lib and ox_inventory.
Strength: these integrated features and its QB compatibility layer make Qbox worth testing for a QB-oriented project. Watch for: compatibility is not a blanket migration guarantee.
The Qbox FAQ says its bridge supports the documented ways of using QBCore. Direct database access, unsupported core-file imports and incorrect API usage are named exceptions. Test inventory, character selection, banking, garages and job management separately.
The conversion guide also covers SQL changes, job/gang grades and inventory conversion. Keeping a script working through a bridge does not mean the server’s saved data needs no migration.
Continue with Qbox installation.
ox_core
Consider ox_core when your developers want to assemble gameplay around its persistence and framework services rather than assume a ready-made RP server. The source repository describes player and vehicle management and links its recipe and JavaScript package.
Strength: the integration documentation offers both a Lua import and a JavaScript package with TypeScript support. Watch for: installing a release and compiling the source are different workflows. The documented source build uses Git, Node.js and Bun; using ox_core does not require writing all your resources in TypeScript.
Check which character UI, jobs, phone and inventory integrations your intended
installation supplies, and which your team must select or build. Do not assume
that using ox_inventory on another framework makes that server an ox_core server.
Continue with ox_core installation.
ND Core
ND’s introduction describes its character, vehicle, ped and death systems and links its own addon family. Its setup guide exposes groups for jobs and gangs, and configurable compatibility modes for older ND, ESX and QB resources.
Strength: ND provides its own model and integration paths rather than simply requiring every resource to be written from scratch. Watch for: advertised compatibility is a starting point for testing, not proof that an arbitrary paid phone, inventory or heavily customized resource will work unchanged.
Build a staging installation with the specific addons and adapters you intend to use. Verify both gameplay and saved data after a restart. Avoid enabling an adapter you do not need just because it exists.
Continue with ND Core installation.
vRP 2 and community forks
The upstream vRP README identifies its code as vRP 2, with an object-oriented design, extension system, groups, inventory and a database-driver interface. Its deployment documentation explains the separate driver and configuration steps.
Strength: vRP is a reasonable evaluation target for developers maintaining a vRP codebase or choosing its extension model. Watch for: an addon made for an older vRP version or a community fork is not automatically an upstream vRP 2 addon. Keep the exact source repository with your resource inventory.
Before a new launch, confirm that your team can maintain the chosen branch and its extensions. Before a migration, identify the actual fork instead of planning from the name “vRP” alone.
Continue with legacy-framework guidance.
QBCore vs ESX vs Qbox: making the decision
For a concrete comparison, imagine your launch needs a phone, police job, inventory, garage and character selector. Record the exact versions you plan to install, not just framework badges on product pages.
| Your situation | Suggested first step |
|---|---|
| Essential resources are explicitly QBCore-compatible | Test QBCore; evaluate Qbox separately against its bridge limitations |
| Your current ESX server works and your developers know it | Assess an ESX update before budgeting for a cross-framework rewrite |
| You need Qbox’s built-in character and job features | Test a Qbox recipe plus every replacement that overlaps those features |
| Most gameplay will be custom-developed | Prototype one complete player workflow in ox_core, ND or your preferred core |
| You operate a vRP fork | Audit its version, driver and extensions before following upstream instructions |
| You need a race or freeroam mode without a persistent RP economy | Prototype standalone resources before adding a full RP core |
These are decision rules, not popularity rankings. Use the framework selection checklist to document your final choice.
Script compatibility is more than a framework name
Check the core API, inventory API, account and identifier model, database schema, and dependent resources independently. The Qbox exceptions and ND compatibility settings linked above illustrate why adapters must be evaluated at the resource level.
For example, this is only a dependency declaration in a QBCore resource:
-- fxmanifest.lua: dependency excerpt, not a complete resource manifest.
dependency 'qb-core'Replacing that name with es_extended does not convert player lookups, item
operations or money handling to ESX. FiveM’s
manifest documentation
defines dependency as a loading requirement, not an API translator.
A documented compatibility bridge is a separate mechanism.
For a move between frameworks, back up first and test the full path from character creation to inventory use, purchases, vehicles and reconnects. Keep a rollback copy of both resources and database. Follow the framework migration guide rather than pointing a new core at production data and hoping the schemas match.
Performance: compare your server, not a slogan
This comparison does not establish a fastest framework or a player-capacity limit. To make your own comparison useful, hold hardware, server artifacts, resource versions and test workload constant. Record client-side costs and server-side costs separately.
On a staging server, use the server console during representative gameplay:
profiler record 500
profiler statusAfter the capture finishes, inspect it with profiler view. The
Cfx.re profiler guide
explains how to locate expensive resource threads and code paths. Repeat the
capture during joins, inventory operations and vehicle activity instead of relying
on an idle measurement. See also resmon.
Frequently asked questions
Which FiveM framework is best for beginners?
Start with the framework your required resources support and for which you have a clear installation guide and someone able to troubleshoot it. QBCore, ESX and Qbox all have the recipe-based installation paths linked above. A recipe reduces setup work; it does not remove the need to test the installed resource collection.
Does Qbox run every QBCore script unchanged?
No blanket guarantee is justified. Qbox documents a bridge for supported QB API usage and explicit exceptions in its FAQ . A resource’s inventory or database assumptions still need review.
Is ox_core required to use ox_inventory or ox_lib?
No. Qbox lists those resources as dependencies, while ND documents ox_lib as required and ox_inventory as optional. Shared libraries and inventory integrations do not determine which core framework a server runs.
Can I run ESX and QBCore together?
For an ordinary RP server, choose one authoritative core rather than starting two competing economy and character systems. Evaluate documented adapters when a resource expects another API. Treat a genuine dual-core design as a custom engineering project, not a normal installation option.
Does this comparison include vMenu, RedM or private server packs?
No. The scope is shared FiveM RP cores plus a standalone alternative. Admin menus, RedM frameworks and private resource bundles are different categories. A bundle’s name alone does not tell you which underlying core or versions it contains.
Sources and next steps
Research sources are linked beside the claims: the framework repositories and websites in Project facts, the installation guides in Stack facts, and the Qbox compatibility, ND configuration, vRP version and Cfx.re platform documentation in the relevant sections. Recheck those sources when you change a framework or dependency version.
- Choose a framework: turn the comparison into a tested shortlist.
- Plan a migration: protect existing characters and economy data.
- Find resources: inspect support and dependencies before installation.