Symset
Starting in NetHack 3.6.0, the symset option selects one of several symbol sets for display of a text-mode map for the normal dungeon. The roguesymset option does the same for the Rogue level. The file "symbols", placed in the directory where NetHack is installed, defines the available symbol sets. The user may edit this file to change existing symbol sets or to define new symbol sets.
The symset option supersedes IBMgraphics, DECgraphics and MACgraphics. Those options are still recognized for backward compatibility. It also replaces the variables named under Custom map symbols (3.4.3), except that BOULDER and WARNINGS are still accepted.
Individual symbols may be set in the options file with SYMBOLS:
SYMBOLS=S_boulder:0 SYMBOLS=S_golem:7 SYMBOLS=S_ghost:8
Contents
Available symbol sets
Normal dungeon
The following symbol sets are available for the normal dungeon and for the Rogue level:
- plain -- same as default, except that corners are +.
- Blank -- all symbols are blank spaces.
- IBMgraphics
- IBMGraphics_1 -- displays walls as solid lines and all other characters the same way as ASCII
- IBMGraphics_2 -- rolls back certain symbols to ASCII, for consistent display with code pages other than 437. The IBMgraphics article discusses code pages at length.
- curses -- similar to DECgraphics, adapted for the Curses interface
- DECgraphics
- MACgraphics -- for classic Mac. This port is currently (18 Jun 2026) broken. Modern Macs use the Unix port and can set one of the other options.
- Enhanced1 -- uses Unicode.
- Enhanced2 -- uses more Unicode symbols.
- AmigaFont -- assumes the font bundled with the Amiga port.
Rogue level
In addition to the above symbol sets, the following symbol sets are available for the Rogue level:
- RogueIBM
- RogueEpyx
- RogueWindows
Of these, only RogueEpyx displays in color. RogueIBM and RogueWindows differ only in that RogueWindows specifies ε for engravings in a room (S_engroom).
The symbols file supports limiting a symbol set to the main dungeon, but no preconfigured symbol set is restricted this way.
File format
The symbols file is a plain text file and can be edited by the user. Blank lines are ignored. Comments begin with '#' and continue to the end of the line. Lines consist of either the keyword "finish" standing alone or a keyword, a colon or equals sign, and a value. Keywords are not case sensitive.
A symbol set consists of:
- a single line with keyword "start" or "begin" and a value constituting the name of the symbol set
- a single line with keyword "handling" and a value of, "DEC", "IBM", "CURS", "MAC" or "UTF8"
- an optional single line with keyword "description" and a line to be displayed in the options menu, to describe the symbol set
- an optional single line with keyword "color" or "colour" and a value of any of "true", "yes", "on", "false", "no" or "off"; the default is to enable color in the main dungeon and disable it in the Rogue level
- an optional single line with keyword "restrictions" and a value of "primary" or "rogue"; the default is no restriction
- zero or more lines in which the keyword is a symbol name and the value is the character to be displayed; symbols for which no line is defined will be displayed as ASCII
- a single line with keyword "finish" and no value
The character may be a single printable character other than backslash (which begins an escape), caret (which indicates a control character; you probably don't want this) or '#' (which begins a comment), or it may be an escape sequence. C-style escape sequences of the form '\123' are interpreted as octal, '\x45' as hex and '\d123' as decimal. '\Mx' gives a "meta" character, with the eighth bit set.
Recognized symbol names are as follows:
| Default (ASCII) | Name | Description |
|---|---|---|
| Walls, doors etc. | ||
| - | S_blcorn |
bottom left corner (of a room) |
| - | S_brcorn |
bottom right corner (of a room) |
| - | S_crwall |
cross wall |
| - | S_hwall |
horizontal wall |
| - | S_tdwall |
wall |
| - | S_tlcorn |
top left corner (of a room) |
| | | S_tlwall |
wall |
| - | S_trcorn |
top right corner (of a room) |
| | | S_trwall |
wall |
| - | S_tuwall |
wall |
| | | S_vwall |
vertical wall |
| # | S_corr |
corridor |
| # | S_litcorr |
lit corridor |
| # | S_engrcorr |
engraving in a corridor |
S_stone |
solid rock | |
| . | S_ice |
ice |
| . | S_room |
floor of a room |
| . | S_darkroom |
dark part of a room |
| ` | S_engroom |
engraving in a room |
| . | S_ndoor |
doorway (with no or broken door) |
| + | S_hcdoor |
closed door (in horizontal wall) |
| | | S_hodoor |
open door (in horizontal wall) |
| + | S_vcdoor |
closed door (in vertical wall) |
| - | S_vodoor |
open door (in vertical wall) |
| > | S_dnladder |
ladder down |
| > | S_dnstair |
staircase down |
| < | S_upladder |
ladder up |
| < | S_upstair |
staircase up |
| > | S_brdnladder |
branch ladder down |
| > | S_brdnstair |
branch staircase down |
| < | S_brupladder |
branch ladder up |
| < | S_brupstair |
branch staircase up |
| Dungeon features | ||
S_air |
air | |
| _ | S_altar |
altar |
| # | S_bars |
iron bars |
| # | S_cloud |
cloud |
| { | S_fountain |
fountain |
| | | S_grave |
grave |
| # | S_hcdbridge |
horizontal raised drawbridge |
| . | S_hodbridge |
horizontal lowered drawbridge |
| # | S_vcdbridge |
vertical raised drawbridge |
| . | S_vodbridge |
vertical lowered drawbridge |
| } | S_lava |
molten lava |
| } | S_lavawall |
wall of lava |
| # | S_poisoncloud |
poison cloud |
| $ | S_goodpos |
valid position |
| { | S_sink |
sink |
| \ | S_throne |
opulent throne |
| # | S_tree |
tree |
| } | S_pool |
water |
| } | S_water |
water |
| Traps | ||
| ^ | S_anti_magic_trap |
anti-magic field |
| ^ | S_arrow_trap |
arrow trap |
| ^ | S_bear_trap |
bear trap |
| ^ | S_dart_trap |
dart trap |
| ^ | S_falling_rock_trap |
falling rock trap |
| ^ | S_fire_trap |
fire trap |
| ^ | S_hole |
hole |
| ^ | S_land_mine |
land mine |
| ^ | S_level_teleporter |
level teleporter |
| ^ | S_magic_portal |
magic portal |
| ^ | S_magic_trap |
magic trap |
| ^ | S_pit |
pit |
| ^ | S_polymorph_trap |
polymorph trap |
| ^ | S_rolling_boulder_trap |
rolling boulder trap |
| ^ | S_rust_trap |
rust trap |
| ^ | S_sleeping_gas_trap |
sleeping gas trap |
| ^ | S_spiked_pit |
spiked pit |
| ^ | S_squeaky_board |
squeaky board |
| ^ | S_statue_trap |
statue trap |
| ^ | S_teleportation_trap |
teleportation trap |
| ^ | S_trap_door |
trap door |
| ~ | S_vibrating_square |
vibrating square |
| ^ | S_trapped_door |
trapped door |
| ^ | S_trapped_chest |
trapped chest |
| " | S_web |
web |
| Items | ||
" |
S_amulet |
amulet |
[ |
S_armor or S_armour |
suit or piece of armor |
0 |
S_ball |
iron ball |
+ |
S_book |
spellbook |
` |
S_boulder |
boulder |
_ |
S_chain |
iron chain |
$ |
S_coin |
pile of coins |
% |
S_food |
piece of food |
* |
S_gem |
gem or rock |
! |
S_potion |
potion |
= |
S_ring |
ring |
` |
S_rock |
boulder or statue |
? |
S_scroll |
scroll |
( |
S_tool |
(useful item (pick-axe, key, lamp...) |
/ |
S_wand |
wand |
) |
S_weapon |
weapon |
. |
S_venom |
splash of venom |
| Monsters | ||
<space> |
S_ghost |
ghost |
A |
S_angel |
angelic being |
B |
S_bat |
bat or bird |
C |
S_centaur |
centaur |
D |
S_dragon |
dragon |
E |
S_elemental |
elemental |
F |
S_fungus |
fungus or mold |
G |
S_gnome |
gnome |
H |
S_giant |
giant humanoid |
J |
S_jabberwock |
jabberwock |
K |
S_kop |
Keystone Kop |
L |
S_lich |
lich |
M |
S_mummy |
mummy |
N |
S_naga |
naga |
O |
S_ogre |
ogre |
P |
S_pudding |
pudding or ooze |
Q |
S_quantmech |
quantum mechanic |
R |
S_rustmonst |
rust monster or disenchanter |
S |
S_snake |
snake |
T |
S_troll |
troll |
U |
S_umber |
umber hulk |
V |
S_vampire |
vampire |
W |
S_wraith |
wraith |
X |
S_xorn |
xorn |
Y |
S_yeti |
apelike creature |
Z |
S_zombie |
zombie |
a |
S_ant |
ant or other insect |
b |
S_blob |
blob |
c |
S_cockatrice |
cockatrice |
d |
S_dog |
dog or other canine |
e |
S_eye |
eye or sphere |
f |
S_feline |
cat or other feline |
g |
S_gremlin |
gremlin |
h |
S_humanoid |
humanoid |
i |
S_imp |
imp or minor demon |
j |
S_jelly |
jelly |
k |
S_kobold |
kobold |
l |
S_leprechaun |
leprechaun |
m |
S_mimic |
mimic |
] |
S_mimic_def |
mimic |
n |
S_nymph |
nymph |
o |
S_orc |
orc |
p |
S_piercer |
piercer |
q |
S_quadruped |
quadruped |
r |
S_rodent |
rodent |
s |
S_spider |
arachnid or centipede |
t |
S_trapper |
trapper or lurker above |
u |
S_unicorn |
unicorn or horse |
v |
S_vortex |
vortex |
w |
S_worm |
worm |
~ |
S_worm_tail |
long worm tail |
x |
S_xan |
xan or other mythical/fantastic insect |
y |
S_light |
light |
z |
S_zruty |
zruty |
& |
S_demon |
major demon |
' |
S_golem |
golem |
: |
S_lizard |
lizard |
; |
S_eel |
sea monster |
@ |
S_human |
human or elf |
| Effects | ||
| ) | S_boomleft |
boomerang open left |
| ( | S_boomright |
boomerang open right |
| * | S_digbeam |
dig beam |
| / | S_expl_tl |
explosion top left |
| - | S_expl_tc |
explosion top center |
| \ | S_expl_tr |
explosion top right |
| | | S_expl_ml |
explosion middle left |
S_expl_mc |
explosion middle center | |
| | | S_expl_mr |
explosion middle right |
| \ | S_expl_bl |
explosion bottom left |
| - | S_expl_bc |
explosion bottom center |
| / | S_expl_br |
explosion bottom right |
| ! | S_flashbeam |
flash beam |
| 0 | S_ss1 |
magic shield 1 of 4 |
| # | S_ss2 |
magic shield 2 of 4 |
| @ | S_ss3 |
magic shield 3 of 4 |
| * | S_ss4 |
magic shield 4 of 4 |
| - | S_sw_bc |
swallow bottom center |
| \ | S_sw_bl |
swallow bottom left |
| / | S_sw_br |
swallow bottom right |
| | | S_sw_ml |
swallow middle left |
| | | S_sw_mr |
swallow middle right |
| - | S_sw_tc |
swallow top center |
| / | S_sw_tl |
swallow top left |
| \ | S_sw_tr |
swallow top right |
| - | S_hbeam |
horizontal beam |
| | | S_vbeam |
vertical beam |
| / | S_rslant |
diagonal beam (NE/SW) |
| \ | S_lslant |
diagonal beam (NW/SE) |
Glyph names
Glyph names begin with G_. These refer to individual things associated with a symbol, such as specific glyphs for monsters. S_angel, for example, covers all glyphs for monsters of the A class, but G_detected_female_archon is specifically a female Archon perceived via monster detection.
There are far too many possible glyphs to list them in any article of reasonable length. For Unix ports, including modern Mac, one can run ./nethack --dumpglyphids to get a complete list. This option does not work with all ports.
Example
The following defines the traditional IBMgraphics symbol set:
start: IBMgraphics
Description: special line-drawing characters used for walls
# Restrictions: primary
Handling: IBM
S_vwall: \xb3 # meta-3, vertical rule
S_hwall: \xc4 # meta-D, horizontal rule
S_tlcorn: \xda # meta-Z, top left corner
S_trcorn: \xbf # meta-?, top right corner
S_blcorn: \xc0 # meta-@, bottom left
S_brcorn: \xd9 # meta-Y, bottom right
S_crwall: \xc5 # meta-E, cross
S_tuwall: \xc1 # meta-A, T up
S_tdwall: \xc2 # meta-B, T down
S_tlwall: \xb4 # meta-4, T left
S_trwall: \xc3 # meta-C, T right
S_ndoor: \xfa # meta-z, centered dot
S_vodoor: \xfe # meta-~, small centered square
S_hodoor: \xfe # meta-~, small centered square
S_engroom: \xee # epsilon
S_bars: \xf0 # equivalence symbol
S_tree: \xf1 # plus or minus symbol
S_room: \xfa # meta-z, centered dot
S_corr: \xb0 # meta-0, light shading
S_litcorr: \xb1 # meta-1, medium shading
S_engrcorr: \xb0 # meta-0, light shading
S_fountain: \xf4 # meta-t, integral top half
S_sink: \xf4 # meta-t, integral top half
S_pool: \xf7 # meta-w, approx. equals
S_ice: \xfa # meta-z, centered dot
S_lava: \xf7 # meta-w, approx. equals
S_lavawall: \xf7 # meta-w, approx. equals
S_vodbridge: \xfa # meta-z, centered dot
S_hodbridge: \xfa # meta-z, centered dot
S_water: \xf7 # meta-w, approx. equals
S_vbeam: \xb3 # meta-3, vertical rule
S_hbeam: \xc4 # meta-D, horizontal rule
S_sw_ml: \xb3 # meta-3, vertical rule
S_sw_mr: \xb3 # meta-3, vertical rule
S_expl_ml: \xb3 # meta-3, vertical rule
S_expl_mr: \xb3 # meta-3, vertical rule
G_vwall_sokoban: /blue
G_hwall_sokoban: /blue
G_tlcorn_sokoban: /blue
G_trcorn_sokoban: /blue
G_blcorn_sokoban: /blue
G_brcorn_sokoban: /blue
G_crwall_sokoban: /blue
G_tuwall_sokoban: /blue
G_tdwall_sokoban: /blue
G_tlwall_sokoban: /blue
G_trwall_sokoban: /blue
G_vwall_gehennom: /red
G_hwall_gehennom: /red
G_tlcorn_gehennom: /red
G_trcorn_gehennom: /red
G_blcorn_gehennom: /red
G_brcorn_gehennom: /red
G_crwall_gehennom: /red
G_tuwall_gehennom: /red
G_tdwall_gehennom: /red
G_tlwall_gehennom: /red
G_trwall_gehennom: /red
G_vwall_knox: /yellow
G_hwall_knox: /yellow
G_tlcorn_knox: /yellow
G_trcorn_knox: /yellow
G_blcorn_knox: /yellow
G_brcorn_knox: /yellow
G_crwall_knox: /yellow
G_tuwall_knox: /yellow
G_tdwall_knox: /yellow
G_tlwall_knox: /yellow
G_trwall_knox: /yellow
G_vwall_mines: /brown
G_hwall_mines: /brown
G_tlcorn_mines: /brown
G_trcorn_mines: /brown
G_blcorn_mines: /brown
G_brcorn_mines: /brown
G_crwall_mines: /brown
G_tuwall_mines: /brown
G_tdwall_mines: /brown
G_tlwall_mines: /brown
G_trwall_mines: /brown
finish
Screenshots
Main dungeon
Here are four screenshots of the same scene, using the three IBMgraphics variants and also DECgraphics.
These screenshots are from NetHack 3.6.0. Some symbols may be different from NetHack 5.0.0.
With IBMgraphics
Note that the floor symbol is centered with respect to the @ sign on the left.
With IBMgraphics_2
The moat, the floor and the fountain are displayed with their ASCII symbols. The floor is an ASCII period, and displays low with respect to the @ sign on the left.
With IBMgraphics_1
The doors are displayed with their ASCII symbols.
With DECgraphics
Rogue level
Here are two screenshots of the same scene, using the two Rogue level symbol sets.
With RogueIBM/RogueWindows
With RogueEpyx





