XS-LoadingScreen
The first thing every player sees. Your own video or photos behind glass cards, music, your keybinds on a real keyboard, and tabs for rules, staff, a gallery and updates — all from one config file.

What it does
Everything on it comes from one file, html/config.js: your logo and name, social buttons, a spotlight card for your Discord, a music player, a full keyboard with your binds lit up, and as many tabs as you want for rules, staff, a gallery, update notes or plain text. Behind it plays your own video or a slow-zooming photo slideshow. The loading bar follows FiveM’s real loading steps rather than a timer, and the screen closes itself the moment your character selector opens. No framework, no database, no ox_lib — it runs on any server.
What you get
Your own video or a photo slideshow with a slow zoom behind everything
Social buttons for Discord, Instagram, YouTube, TikTok, X, Twitch, Kick, your website and store
A spotlight card for your Discord, or anything else you want players to see first
Music player with your playlist, seek and volume — each player’s volume is remembered
A full keyboard with your binds lit up. Hover or click a key to see what it does
Tabs for rules, staff, a gallery with a full-screen viewer, updates, features or plain text
A loading bar driven by FiveM’s real loading steps, with rotating tips underneath
Press H to hide the menus and just watch the background
Fits any screen, ultrawide included
Closes when your character selector opens, or when the player spawns
Try it in your browser
The real loading screen running a pretend load on a loop. Every card, tab and key works — press H to hide the menus.
Runs in this page on sample data.
A look inside
Latest updates
Before you install
- A server runs one loading screen. Stop or remove your old one, or that is the one players keep seeing.
- Video backgrounds have to be .mp4 with H.264 video — .webm and H.265 files do not play in FiveM. Every player downloads the file, so keep it small.
- It closes when your character selector opens. With no selector, set Config.CloseOn = 'spawn' in config.lua.