FiveM Postal Maps Explained: How to Add & Customize Postal Codes
If you’ve ever sat in a police voice channel and heard someone bark “10-80 in progress near postal 425, requesting backup,” that number is a postal code. It’s the single fastest way for players to tell each other where something is happening on a 20-square-mile map without fumbling for a street name nobody remembers.
I’ve set postals up on more servers than I can count, and I still think they’re one of the highest-value, lowest-effort additions you can make to a roleplay server. This is the honest walkthrough: what postals actually are, the free setup that works out of the box, the alternatives worth knowing about, and what to do when the stock postal grid stops fitting your city.
What Postal Codes Are and Why RP Servers Need Them
A postal code in FiveM is just a number tied to a fixed coordinate on the map. Blackout a whole grid of them across Los Santos and Blaine County and suddenly every location has a short, speakable address.
The idea is lifted straight from real US dispatch culture. Real officers and paramedics don’t read GPS coordinates over the radio — they use grid references and known landmarks. Postal codes recreate that for your server. When a caller says “shots fired at postal 218,” dispatch can drop a blip, PD can set a waypoint, and three units can converge without anyone typing a street name into chat.
Here’s where postals earn their keep on a live server:
- Police call-outs. Dispatch relays a postal, officers
/postal 425to set a waypoint, and the GPS routes them there. No more “uh, it’s by the… the tall building?” - EMS response. A downed player calls it in with the nearest postal from their HUD. Medics get an exact drop point instead of guessing.
- Player navigation. Even outside of jobs, postals become the server’s shared vocabulary for meetups, deals, and events. “Meet me at 312” just works.
Once players learn the map by its postals, they stop describing locations and start addressing them. That’s the whole point.
The Standard Free Setup, Step by Step
You need two things: a map that shows a postal grid, and a script that reads the player’s position and displays the nearest postal. The community-standard free combo is oulsen_satmap for the visuals and DevBlocky/nearest-postal for the HUD. Both are genuinely good, and for a lot of servers this is all you’ll ever need.
oulsen_satmap (github.com/Oulsen/oulsen_satmap) replaces the default GTA minimap with an HD satellite view that has the postal grid baked directly into the tiles. You see the numbers right there on the map.
DevBlocky/nearest-postal (github.com/DevBlocky/nearest-postal) is the logic layer. It shows the nearest postal on your HUD in real time and adds a /postal command so players can drop a waypoint to any postal number.
Here’s the install, and I’m not going to pretend it’s more complicated than it is:
- Download both resources from their GitHub repos (grab the latest release, not a random fork).
- Drop them into your
resources/folder. I keep map resources in a[maps]folder and the postal script in[standalone]so load order stays clean. - Add them to your
server.cfg:ensure oulsen_satmap ensure nearest-postal - Configure the postals JSON. nearest-postal reads its coordinates from a
postals.jsonfile. The default set is designed to line up with common satmap grids — but this is the file you’d edit if you ever wanted to change what number shows where. - Restart and test. Load in, open the map, and you should see the grid. Move around and watch the nearest-postal number update on your HUD.
If any of this feels shaky, I wrote a full step-by-step guide to installing FiveM scripts that covers ensure order, fxmanifest gotchas, and the errors that trip people up.
Now the honest limitations. The postal grid in this setup is fixed. The numbers were placed by someone else, on their coordinates, in their order. You can’t grab postal 425 and slide it two blocks over because your new PD MLO landed on top of it. You can’t renumber a district so your gang territories read cleanly. And the moment you install a custom MLO or a mapped-out area the original author never accounted for, the postal that lands there is whatever the grid happens to say — which is often a mismatch. It’s someone else’s map of the city, and you’re renting it. For a lot of servers that’s completely fine. For servers with heavy custom mapping, it starts to chafe.
Other Free Postal Options Worth Knowing
The Oulsen + DevBlocky combo isn’t the only game in town, and depending on your setup one of these might fit better:
- Mo1810/-LEGACY-mo_postalCode (
github.com/Mo1810/-LEGACY-mo_postalCode) is a lightweight legacy script that adds a/postcodecommand and drops a marker at the postal you request. It’s older and no longer actively developed — the “LEGACY” in the name is a warning, not a vibe — but it’s dead simple and still works if you want marker-based postals without a full HUD overlay. - AbdeLhere/mnr_postals (
github.com/AbdeLhere/mnr_postals) is another community postal resource worth a look if you want to compare HUD styles and config approaches before committing.
None of these are wrong choices. Try a couple, see which HUD feels right, and move on — the underlying concept is identical.
Customizing Your Own Postal Map
This is where things get real. Once you’ve got custom MLOs, redrawn territories, or a city that doesn’t match a stock grid, you’ll want postals that fit your map. There are two ways to get there.
The manual way. You edit the satmap texture files to redraw the printed grid, then rebuild the postals coordinate JSON by hand so every number maps to the right position. I’ve done this. It’s tedious and unforgiving — you’re tabbing between an image editor and a raw coordinate file, cross-checking numbers, restarting the server to test, and repeating. Get one coordinate wrong and a player’s HUD points them to the wrong side of the map. For a full grid, this is hours of fiddly work with lots of room for error.
The visual, in-game way. This is what I build tools for, so full disclosure: this next one is ours. LMX Minimap Creator ($29.99, one-time) lets you place and renumber postal codes visually on the live in-game map instead of editing JSON by hand. You fly around your actual server map, drop postals exactly where you want them, renumber on the fly, and draw zones and labels while you’re at it. It supports Oulsen Satmap tiles natively, so you’re not fighting your existing map. When you’re done, it exports a drop-in file — no manual coordinate wrangling.
It’s standalone with ESX, QBCore, and Qbox auto-detect, so it doesn’t care what your framework is. The pitch is simple: the free tools are great when you want a postal map. The minimap and postal creator is for when you want your postal map — one that matches your MLOs, your districts, and your numbering logic, without spending an evening in a text editor.
If you’re weighing your options, I compared the landscape in best FiveM minimap scripts, and there’s a deeper build walkthrough in how to make a custom minimap for FiveM.
Postal Map FAQ
Do postals work with any framework? Yes. Postal scripts read player coordinates and draw a HUD element — that’s framework-agnostic logic. The free options above run standalone, and our creator auto-detects ESX, QBCore, and Qbox, so you’re covered either way.
Do I need a satmap to use postals? Not strictly. A postal script will still show the nearest number on your HUD over the default GTA minimap. But a satmap with the grid printed on it makes postals far more usable, because players can see the numbers on the map instead of only reading the nearest one off their HUD. I’d run both.
How many postals is normal? There’s no hard rule, but most established grids land in the low hundreds spread across Los Santos and Blaine County — dense enough that any location has a nearby number, sparse enough that the numbers stay memorable. If your postals are so close together that two spots 50 feet apart read differently, you’ve got too many; if players are ever “between” postals with no clear nearest one, you’ve got too few.
Start with the free setup, live with it, and let your server tell you when the stock grid stops fitting. When that day comes — usually right after a big mapping update — you’ll know it’s time to make the map your own. And if you’re still building out your resource list, the free scripts collection is a solid place to round things out.