<!-- fivemad.com, Markdown source of https://fivemad.com/docs/tools/minimap-editor -->
> Source: https://fivemad.com/docs/tools/minimap-editor
> Section: Tools
> Tags: minimap, radar, hud, mask, frontend.xml, SetMinimapComponentPosition, scaleform
> Tool: https://fivemad.com/tools/minimap-editor
> Last updated: 2026-09-23
> Site map for assistants: https://fivemad.com/llms.txt

# Minimap Editor

Shape, place and style the FiveM minimap in the browser, see it over the real Los Santos map, and download a ready resource with the mask textures and Lua.

The Minimap Editor builds a complete minimap resource for your server. You pick the shape, place it on a real screen, style the border and the rings, and download a folder you can drop straight into `resources`. The preview draws over our own render of the Los Santos map, so what you judge is what players get.

## Quick start

1. Pick one of the presets at the top: **Classic round**, **Square modern**, **Minimal**, **Big square for RP** or **Hex tactical**.
2. Open the **Shape** tab and choose a silhouette, or upload your own mask image.
3. Open **Layout** and drag the minimap in the preview until the spacing looks right.
4. Switch the screen size above the preview between 1080p, 1440p and 21:9 to check all three.
5. Style the border and the rings, then press **Download resource**.
6. Unzip, put the folder in `resources`, add `ensure <your resource>` to your `server.cfg` and restart.

## The tabs

### Shape

Thirteen shapes, all drawn by the tool: circle, square, rounded square, squircle, octagon, two hexagons, diamond, pill, notched, blade, shield, and your own image.

- **Corner radius**, **Squareness** and **Cut size** appear only for the shapes that use them.
- **Edge softness** feathers the edge of the mask, so the map fades out instead of stopping on a hard line. A value of 0 gives a razor edge, 8 to 15 gives a soft one.
- **Mask texture size** is how sharp the exported mask is. 512 is enough for almost everything, 1024 helps a very soft edge on a large map.
- **Your own image**: a PNG with alpha, or a black and white picture. Only the silhouette is used, the colours in it never show up in game. The file is read in your browser and is never uploaded.
- **Blip clipping** is a separate setting from the mask. The mask cuts the map, this cuts the blips. Pick the option closest to your shape or blips will hang over the edge.

### Layout

- **Anchor** picks the screen corner or edge to measure from. Bottom left is where the game puts it.
- **Offset X, Offset Y, Width, Height** are fractions of the screen, the same units the game uses. X is measured over a 16:9 width, Y over screen height, which is why an ultrawide monitor gets the same minimap further from the centre.
- **Mask inset** shrinks the visible map inside its frame, useful when you want a thick border that eats into the edge.
- **Backing plate** is the dark panel behind the map. Size, spread and softness are separate so you can go from a tight drop shadow to a wide fade.
- **Expanded map** sets the size of the bigger map players toggle with the map key.
- **Raw component rows** shows the six rectangles the resource writes. Turn the link off and type exact numbers if you are matching an existing design.

Dragging inside the preview moves the minimap. It only works while the link is on.

### Style

- **Border** and **inner line**. The inner line is a darker stroke just inside the border, it stops the map bleeding into the border colour. Thickness is in pixels at 1080p and scales up on bigger screens.
- **Glow** puts a soft colour halo behind the border. Keep it under 15 px unless you want it obvious.
- **Plate colour** and opacity control the panel behind the map.
- **Map tint** lays a colour over the map. It also tints the blips, so keep the strength low. The blend modes behave the way they do in an image editor: multiply darkens, screen lifts, colour recolours while keeping the brightness.
- **Night colours** is a second full set of colours. Set the hours and the resource switches over by the game clock.

### Rings

First decide what happens to the game's own health and armour arcs:

| Setting | What happens |
| --- | --- |
| Keep | The arcs stay exactly as the game draws them |
| Recolour | The arcs stay, with the colours you set on the Game tab |
| Hide | The arcs are hidden, your own rings replace them |

Then add up to six rings. Each one has:

- **Value key**: `health`, `armour`, `stamina` and `oxygen` fill themselves. Any other key is filled by your own script.
- **Style**: *Follow shape* runs along the outline of your mask, *Arc* runs along a circle whatever the shape is, *Bar* sits under the map as a straight line.
- **Colour**, **track colour** and track opacity.
- **Thickness** and **gap from the border**, both in pixels at 1080p.
- **Start** and **Length**, measured as a percent of the outline starting at the top, plus the direction. Two rings at 50 percent and 0 percent going opposite ways give you the classic left and right arcs.
- **Rounded ends** and **glow**.
- **Preview value** is only for the preview.

To drive a ring of your own from Lua:

```lua title="somewhere in your script"
exports['fivemad_minimap']:SetMinimapRing('hunger', 0.62)
```

### Game

- **When the radar shows**: always, only in a vehicle, or off so your own script decides.
- **Zoom** is `SetRadarZoom`. 0 keeps the game default, higher values show less ground. The **Range** slider above the preview is separate and only changes how much map the preview draws.
- **Lock north up** stops the map turning with the player.
- **Reveal the whole map** clears the fog of war on join.
- **HUD colours**: tick an entry to override it. These are `hudcolor.dat` entries set by index, and the resource puts the originals back when it stops.
- **Hide HUD elements**: the cash, stars, street names and the rest. The preview shows a struck out box for each one you hide.

## What is in the zip

```
fivemad_minimap/
  fxmanifest.lua
  config.lua               every value, with a comment on each one
  client.lua               applies the config in game
  README.md
  textures/
    radarmasksm.png        mask for the small map
    radarmasklg.png        mask for the expanded map
  ui/
    index.html             the overlay page
    style.css
    app.js                 draws the border and the rings
    shape.json             the outline of your shape
    mask.png
    border.png             your border art
  minimap-project.json     open this back in the editor later
```

The mask is not streamed as a `.ytd`. The client builds a runtime texture from the PNG and swaps it in over the game's own mask, so nothing in the game is replaced and the originals come back when the resource stops. If you would rather have a real `.ytd`, take the PNG into the [Texture Editor](/docs/tools/texture-editor).

The border, the glow and the rings are drawn by the small overlay page in `ui/`. The game has no native for any of them. The page never asks for NUI focus, so it cannot eat a click.

## Saving and sharing

- Your work autosaves in this browser as you edit.
- **Save** writes a `.minimap.json` project file, **Open** loads one back.
- **Share** copies a link with the whole setup in it. Send it to someone and they open your exact minimap.
- The project JSON is also inside the zip, so you can always get back to the editor from the resource folder.

## Limits worth knowing

- **Land and sea colour** come from the game's own map textures, not from a HUD colour. The tint layer is an approximation over the top, a real recolour means replacing those textures.
- **The health and armour arcs cannot be restyled**, only hidden or recoloured. They live inside `minimap.gfx`, and rebuilding that movie breaks with every game update. Hide them and use your own rings instead.
- **Only one resource can own the minimap.** If another HUD resource also calls `SetMinimapComponentPosition`, load this one after it, or call `exports['fivemad_minimap']:ApplyMinimap()` once the other one is done.
- **The preview is a layout preview**, not a screenshot. The map inside the minimap is real, the space around it is deliberately empty.
- Cayo Perico and North Yankton are not in the preview map.

## Related

- [Texture Editor](/docs/tools/texture-editor) to put the mask into a `.ytd`
- [Blip, Marker and Checkpoint Browser](/docs/tools/blip-marker-browser) for the blips that sit on the map
- [Scaleform Functions](/docs/tools/scaleform-reference) for the other `minimap` movie calls
