<!-- fivemad.com, Markdown source of https://fivemad.com/redm/docs/tools/map-editor -->
> Source: https://fivemad.com/redm/docs/tools/map-editor
> Section: Tools
> Tags: map, minimap, map tiles, roads, labels, guarma, stream, ytd
> Tool: https://fivemad.com/redm/tools/map-editor
> Last updated: 2026-10-01
> Site map for assistants: https://fivemad.com/redm/llms.txt

# Map Editor

Draw roads, railways, borders, buildings, water, labels and pictures on RDR2's in-game map, mainland or Guarma, and download the rebuilt map tiles as a RedM resource.

The Map Editor lets you draw on RDR2's own pause map and minimap: new roads and tracks, a railway, a state border, buildings, a lake, a place name, your server's logo, or erase what is there. It rebuilds the game's map tiles with your edits in them and downloads them as a RedM resource. Everything runs in your browser tab.

## What it is for

Showing players the world your server actually has: a new town needs its streets and its name on the map, a closed road should vanish from it, a custom area can be marked with a border or a logo. The game draws its map from tiles, so changing those tiles changes the map for everyone who runs the resource, with no script at all.

## Before you start: your own tiles

The page does not ship Rockstar's map tiles. You bring them from your own game:

1. Open `minimap_tiles.rpf` from your RDR2 install with OpenIV, CodeX or a similar tool.
2. Export its `.ytd` files as loose files, **not Oodle compressed**, into a folder.
3. In the **Your stock tiles** panel press **Pick a folder** (or **Pick files**) and choose them.

You only need the tiles your edits touch; the **Download** panel names them. You can start drawing before you load anything: until then the page draws your edits over fivemad's own map so you can place them, but it cannot export.

Your tiles stay in the tab and are never saved, so load them again on each visit.

## Quick start

1. Pick **Mainland** or **Guarma** with the switch on the map.
2. Choose a tool in the toolbar (**Ink**, **Buildings**, **Label**, **Picture**, **Erase**) and draw.
3. Load your stock tiles (see above). The preview switches to **Your tiles** so you see the real tiles with your edits in them.
4. In **Download**, check that every changed tile has a pixel count and none says "not loaded".
5. Press **Build and download**, unzip `fivemad_map.zip` into `resources`, add `ensure fivemad_map` to `server.cfg` and restart the whole server.

Drag to pan and scroll to zoom.

## The toolbar

| Tool | Key | What it does |
| --- | --- | --- |
| **Select and move** | V | Click a shape to select it, drag it or drag one of its points. Delete or Backspace removes it. |
| **Ink** | P | Lines: roads, tracks, railways, borders, coast, relief lines, rivers. |
| **Buildings and water** | A | Filled shapes: buildings or water. |
| **Label** | T | A place name. |
| **Picture** | S | Stamps an image onto the map. |
| **Erase** | E | Removes existing map ink, or water, under a brush. |
| **Ruler** | M | Drag to measure a distance in metres. Esc clears it. |

Also in the toolbar: **Undo** (Ctrl+Z) and **Redo** (Ctrl+Y or Ctrl+Shift+Z), the **Grid** overlay (its step follows the zoom and is printed in the corner), snapping to the **Grid**, snapping to **Points** of other shapes (on by default), and the preview switch **Edits over map** / **Your tiles**.

### Ink

Pick a style from the chips, click to add points, then click the last point again or press Enter to finish. Esc drops the line you are drawing.

| Style | Goes on the layer | Default half width |
| --- | --- | --- |
| **Road** | Roads and coast | 2.57 m |
| **Small road** | Roads and coast | 1.27 m |
| **Dirt track** | Roads and coast | 0.25 m |
| **Railway** | Roads and coast, dashed 14 m on, 8 m off | 1.27 m |
| **Border** | Labels and borders, dash dot like the stock state borders | 1.27 m |
| **Coastline** | Roads and coast | 0.76 m |
| **Relief line** | Relief | 9.09 m |
| **River** | Water, a ribbon of water | 6 m |

The road widths are matched to the line weights the stock map already uses, so a new road looks like its neighbours. Select a line to change its **Style**, its **Half width** (up to 20 m, 200 m for a river) or make it a **Closed loop**.

### Buildings and water

Pick **Building** (drawn on Roads and coast) or **Water** (drawn on the Water layer), then **Rectangle** (click two corners, the default) or **Polygon** (click the corners, click the first one to close). Selecting an area lets you switch its **Kind**.

### Label

Click where the label goes; it is created as "New label" and selected so you can edit it on the right.

| Option | What it does | Default |
| --- | --- | --- |
| **Text** | Up to 120 characters. | New label |
| **Font** | **Serif (your system's)**, **Sans (Geist)**, or a font you add with **Use my own .ttf or .otf**. | Serif |
| **Bold** | Bold weight. | off |
| **Size** | Letter size in world metres, 5 to 400. | 45 m |
| **Rotation** | Degrees, -180 to 180. | 0 |
| **Bend (arc radius, 0 is straight)** | Curves the text along an arc; negative bends the other way. | 0 |
| **Letter spacing** | Extra space between letters, in metres. | 2 m |

Labels go on the **Labels and borders** layer.

### Picture

Press **Add a picture** (PNG, WebP or JPEG), choose the layer it should land on (Roads and coast by default), then click the map to place it. Selected, it has **Width** (5 to 3000 m, the height follows the picture), **Rotation** and **Ink comes from**: **The picture's transparency** (default, for a PNG with a transparent background) or **Its dark pixels** (for a dark drawing on white).

### Erase

Choose the layer to erase from and the **Brush** size (2 to 300 m, default 20 m), then drag over what should go. The stock ink under the brush is removed and a road you cut ends cleanly at the brush. Erasing on the Water layer turns water into land. An erase stroke is a shape like any other: select it to change its radius, hide it or delete it to bring the ink back.

## The layers

RDR2's map is several sets of tiles, one per kind of content. The **Your stock tiles** panel lists them with how many of each you have loaded, and the eye button hides one in the preview.

Mainland:

| Layer | Tile names | Grid (rows x columns) |
| --- | --- | --- |
| Roads and coast | `minimap_sdf_discovered3_` | 29 x 33 |
| Relief | `minimap_sdf_undiscovered3_` | 29 x 33 |
| Labels and borders | `minimap_sdf_text_` | 8 x 10 |
| Water | `minimap_sdf_waterline_` | 8 x 8 |
| Roads, zoomed out | `minimap_sdf_discoveredlod3_` | 5 x 5 |
| Labels, zoomed out | `minimap_sdf_textlod3_` | 5 x 5 |

Guarma:

| Layer | Tile names | Grid (rows x columns) |
| --- | --- | --- |
| Roads and coast | `minimap_guarma_sdf_discovered2_` | 24 x 16 |
| Relief | `minimap_guarma_sdf_undiscovered2_` | 24 x 16 |
| Labels | `minimap_guarma_sdf_text_` | 6 x 4 |
| Water | `minimap_guarma_sdf_waterline_` | 8 x 4 |

**Relief** holds the contour lines and hatching shown in parts of the map you have not discovered yet. A tile is named row first: `minimap_sdf_discovered3_17_15` is row 17, column 15.

Every selected shape has a **Written to** select, so you can move any shape to another layer, for example a picture onto Relief.

## The preview

- **Edits over map** draws fivemad's own RDR2 map with your changes on top: new ink in the map's ink colour, removed ink in red.
- **Your tiles** draws the stock tiles you loaded with your edits merged in.

Neither is exactly what the game draws. The tiles hold line shapes, not colours, and the game inks them with its own map shader, so line weights and colours in game will differ a little from the page.

## Download panel

| Option | What it does | Default |
| --- | --- | --- |
| **Also write the zoomed out sets** | Mainland only. Roads also go to the zoomed out roads set and labels to the zoomed out labels set, so the edit shows at every zoom. | on |
| **Resource name** | Folder and zip name. | `fivemad_map` |

Under it is the list of changed tiles with the number of pixels each edit changed. A tile you have not loaded is marked **not loaded** in amber, and **Build and download** stays off until you load it: the export merges your edits into your own copy of each tile, so it cannot write one it has not read. It also waits while tiles are still being rebuilt.

The download holds only the region you have open. Shapes keep their world positions when you switch region, but a mainland edit never reaches Guarma's tiles, so make one resource per region.

### What is in the zip

```
fivemad_map/
  fxmanifest.lua
  README.md
  map-editor-project.fmmap
  stream/<one .ytd per changed tile>
```

Each `.ytd` is named after the stock tile it replaces. A tile the game ships as an empty 4 x 4 stand in (nothing drawn there) is written at the full tile size so your edit has room, and the result line tells you how many there were. The manifest for a mainland map:

```lua title="fxmanifest.lua"
fx_version 'cerulean'
game 'rdr3'
rdr3_warning 'I acknowledge that this is a prerelease build of RedM, and I am aware my resources *will* become incompatible once RedM ships.'

name 'fivemad_map'
description 'RDR2 map edits (Mainland) built with https://fivemad.com/redm/tools/map-editor'
version '1.0.0'

-- Everything in stream/ is picked up by itself: a .ytd named like a stock map tile
-- replaces that tile. Nothing to script and nothing to list here.
```

Streamed files are read when the server starts, so `restart fivemad_map` is not enough: restart the whole server, and if the old map still shows, stop it, delete its `cache` folder and start it again.

## Save and share

| Action | What it does |
| --- | --- |
| **Name** | The map's name, used for saves and the `.fmmap` file. Default "My map". |
| **Save in this browser** | Adds a named save to the list below, with its pictures and fonts. |
| **.fmmap file** | Downloads the whole project, pictures and fonts included. |
| **Open .fmmap** | Opens one. |
| **Copy share link** | Copies a link that opens this map. Pictures are left out of links and a font you added falls back to serif; a map too big for a link asks you to send the `.fmmap` file instead. |

The open map is also saved automatically in your browser and comes back when you return. The zip carries `map-editor-project.fmmap` too, so you can always reopen a map you exported.

## Tips

- Load the whole folder of tiles, not just the ones you think you need. An erase next to a tile you have not loaded cannot take that tile's ink into account, and the page says so under the map.
- Turn on **Points** snapping (it is on by default) to join a new road to the end of another one cleanly.
- Use the **Ruler** to size a building or a label against the stock map before you commit to it.
- Keep a map's edits in one resource. Two resources that stream the same tile names cannot both be in use, so one of them loses its edits in those tiles.

## Limitations

- **Not tried in RedM yet.** The tiles follow the layout of the game's own files and an unchanged tile comes out identical to the stock one, but nobody at fivemad has loaded one in game. The [Blip Replacer](/redm/docs/tools/blip-replacer) ships the smallest test for every RDR2 texture the site writes; until that has been run, treat this resource as untested.
- Whether the game draws a tile that was a 4 x 4 stand in at its new full size is not known.
- Where the zoomed out roads set sits is taken from the zoomed out labels set, which has the same size. It was not checked against coordinates on its own.
- The preview colours are fivemad's, not the game's map shader.
- Your stock tiles are needed to export and are not kept between visits.
- Only the open region is exported.

## Related tools

- [Interactive Map](/redm/docs/tools/map)
- [Blip Replacer](/redm/docs/tools/blip-replacer)
- [Blip Placer](/redm/docs/tools/blip-placer)
- [Folders to YTD](/redm/docs/tools/folders-to-ytd)
