|This article is about the current version of DF.|
A collection of third-party Utilities that are useful for Dwarf Fortress players and modders alike, of which this page serves as a list of. Dwarf Fortress is a difficult game to play, and any help that can be had in the task is welcome help.
If you would like to add an article on a specific game utility to the wiki, please do so under the tileset repositories and graphics set repositories, due to having been given their own, separate pages. Mods have also been listed under their ownnamespace. Not included on this page:
To avoid namespace clutter, websites are considered utilities, though they really aren't, and have been included.
A subsection of the Bay12 forums is devoted to such third-party programs, and contains development threads for most of them.
The Lazy Newb Pack is an effort to make Dwarf Fortress more accessible for new players or returning veterans by bundling and configuring utilities, graphics and tilesets, and extras such as reference material or more intuitive controls.
- 1 Launchers
- 2 3D Visualizers
- 3 Music and Sounds
- 4 Game manipulation tools
- 5 Modding tools
- 6 World Map / World Gen tools
- 7 Legends tools
- 8 Remote playing tools
- 9 Language tools
- 10 Announcement tools
- 11 Filesharing websites
- 12 Other/miscellaneous
The Lazy Newb Pack starter pack is a superb all-in-one compilation of tools, tilesets, with a nice launcher and the game itself. It allows you to start playing DF really quickly on a new machine - no need to download all the latest stuff, check dependencies, and integrate - or even know what you need to get. The newer packs also include many third-party fixes for common bugs, which work automatically, and a large number of significant user interface improvements. The launcher makes changing settings or graphics options much easier (press button, instead of editing files) and can even remember to launch selected utilities whenever you open a game of Dwarf Fortress. See the Lazy Newb Pack page for more information, or the forum thread for your platform:
A cross-platform LNP port, written in Python. The launcher and configuration interface for all of the Lazy Newb Packs. PyLNP is under active development for bugfixes, addition of features pioneered by other launchers, and creation of entirely new features - such as rebuilding the raws of modded saves to change graphics packs.
A Java interface that allows easy option toggling, update and devlog checking, and tileset, mod and color scheme switching. Designed for players who prefer vanilla DF to a bundle like the above.
Stonesense is a third party visualizer, implemented as a DFHack plugin, that lets you view your fortress in a classic isometric perspective. It runs alongside Dwarf Fortress, and can follow the main game's view, updating in real-time. It is included in DFHack, and can be opened by typing
ssense into the console window.
- Links: Utility:Stonesense
Armok Vision is a 3D real-time visualizer using Unity for version 0.40.24. It works as a separate program communicating with the game through fast network interfaces.
- Links: Bay12forums Thread
Isoworld is an isometric world map viewer, which can display each of the detailed maps exported from Legends mode. It also has a pictographic view which makes finding waterfalls easy.
Isoworld can link with DFHack to display a game view at full spatial resolution in wider context, including tracking the player's view. This is particularly useful for adventure mode.
- Links: Bay12forums Thread
Voxel Fortress is a converter from DF worlds to a voxel format. It takes an export of one of the two elevation maps (for the voxels coordinates), and any other one (for the colors). The map is saved in .xraw format. An additional utility (e.g. MagicaVoxel Viewer) is required to see the voxel representation of the map.
- Link: Bay12forums Thread
Music and Sounds
SoundSense is a sound engine that parses game logs and reacts to game events with sound effects, incidental music and dwarfy comments. You can look it up on the forum thread, or directly download it at the SoundSense homepage. Due to it being written in Java, Soundsense is portable to all platforms.
Due to development having slowed down, a fork was released that most notably disables the broken auto-updater and adds the option to minimize Soundsense to the system tray.
Note that older Soundsense users may have different default seasonal soundtracks, which were removed and replaced in early 2011. These are available here.
A C# port of SoundSense, it uses the existing sound pack files and XMLs present in SoundSense, but with some added enhancements. More information regarding what specific type of enhancements and how to install SoundCenSe can be gathered at the official forum thread. If problems emerge while trying to get SoundSense to work with the latest versions of Java, this port may prove to be a useful alternative.
- Links: Bay12forums thread. Downloads for the Windows and Linux binaries are available here, while code releases can be obtained from the GitHub site.
Game manipulation tools
DFHack is an advanced Dwarf Fortress memory access library and a set of tools and scripts using this library, providing direct object-oriented access to Dwarf Fortress's internals as if it were compiled into the game itself. Runs on Windows, Linux, and OS X. The standard configuration enables a variety of included bugfixes and interface upgrades, and provides many useful tools such as "clean all". See Utility:DFHack for a summary of features and common use.
- Links: DFHack's Documentation site offers all relevant information on how download, install, and use the utility. Including an up-to-date list of all available and optional Plugins. Official Bay12 forum thread.
These plugins add features to the game.
- Rendermax, a plugin that implements a lighting system at the graphics level.
- Dwarven Emigration, a script that allows unhappy dwarves to emigrate with their families.
A critical internal DFHack plugin, developed within the same repository. It provides a protobuf-based (currently v2.4.1) RPC connection to the game, enabling remote clients like Armok Vision. The service listens on
127.0.0.1:5000 (configurable within
Currently there are no change-based or change-driven notifications, so remote fortress clients must perform the expensive operation of polling the desired volume every frame (via e.g.
GetBlockList). Additionally, the sidebar menu state is shared with the native view, to avoid reimplementing construction material dependencies.
Dwarf Therapist gives you an advanced GUI to manage and check dwarf job allocations, military assignments, statistics (such as attributes, personality traits and happiness), sort dwarves by various criteria (e.g. profession, migration wave, happiness, number of assigned jobs etc.) and generally manage the Dwarven Resources of your fortress in a very convenient way. This version contains the "labor optimizer" semi-automatic labor management system.
Splinterz' fork of Dwarf Therapist is the currently updated version, and available for Windows, Mac and GNU + Linux.
- Links: See the forum thread for current downloads. Besides the Bay12 forum thread, there's more information on the GitHub project page.
A useful plugin-based modding tool that generates raws and supports easy installation of reactions, tilesets, macros, modding fixes and DFHack scripts. It is a fork of the now abandoned Blast. Binaries are available for Linux 32-bits, OS X 32-bits and Windows 64-bits, as well as the source (written in Go with building instructions). As of 4.0, a GUI is available for Windows.
For players, PyDwarf is an easy way to manage and configure preferred mods in a way that avoids almost entirely the problems of outdated mods or incompatible groups of mods. For modders, PyDwarf's mod manager exposes a powerful Python API for interacting with raws and other data files.
A tree-based raw files browser, editor and manager.
A GUI for editing raw files, updated 2019.
A Python script that generates raws based on custom real-life material values.
A Python script that generates random creature raws.
A collection of modding tools, with a focus on diagnosing problems and getting statistics on what is found within the raws. It includes:
- DF Duplisearch - checks your raws folder for duplicated objects, and counts the number of objects of each type (creature, entity, reaction, etc.).
- DF Creatureclasser - tells you what creature classes are in your raws, and what they are used for.
- DF CVunpack - unpacks creature variations, so you can see how the raws for e.g. wolf men really look (spoiler: they have 7 fingers).
- DF Creaturescale - calculates creature weights, and the proportions of each body part and tissue.
- DF Biomeviewer - shows what creature/plants can be found in which biomes.
Modding support for DF RAW files in IDE/Code/Text editors. Checks syntax of files, detects errors and syntax highlighting.
The Language server is a shared component that can be used to easily add support for more IDE's.
World Map / World Gen tools
Requires an additional (tiny) download to be functional for current versions (40.#): WorldGen.xml . Easy access to world settings for quick modification to allow highly customized world generation far easier and faster than DF's ingame advanced map maker. forum thread
A bash script for automating world generation of large numbers of worlds on GNU/Linux.
A Photoshop action script which turns legends mode exported maps into a much prettier fantasy map. There is also a version available for GIMP.
A GIMP script based on the Dwarf Map Maker that creates a satellite image of Dwarf Fortress world maps.
Legends Viewer loads up the legends you can export in a much more usable format than the Legends mode of DF itself. Legends Viewer can open pages in new tabs, filter information on a wide range of criteria, and display information on the map as well. Binaries are only available for Windows, as well as the source (written in C#).
An alternative to Legends Viewer that, most specifically, features a timeline of historical events. Binaries are only available for Windows, as well as the source (written in C#). Last updated in late 2017.
- Links: bay12forums
A web-based interface that displays worlds in the way of an interactive map complete with features and structures.
A web-based multi-platform (Win, Linux, OSX) Viewer. It displays an interactive map and legends information (using legends_plus.xml generated via DFHack).
- links: bay12forums
Dwarf Fortress Storyteller (DF Storyteller, DF ST) is an application that parses Dwarf Fortress legends files, stores them internally and makes them queryable using API's. (Cross platform: Windows, Linux, macOS) This utility can be used to easily create new visualizers to view the legends data.
- links: Website, Gitlab project, list of visualizers can be found here. An example of a visualizer is The Bard created in DF ST.
Remote playing tools
Dfterm3 is a remote Dwarf Fortress-playing software for multiple users through a web interface. DFterm3 enables play through a web interface, and games can also be viewed on mobile - or even played if a bluetooth keyboard is attached. The web interface should work with Chrome or Firefox browsers, but there are known problems using Internet Explorer. DFTerm3 functions via a DFHack plugin, and is thus dependent on each version of DFHack.
It is a successor to dfterm2, which functions similarly using telnet instead of a web browser. This utility only works with version 0.34.11 or earlier.
A newer alternative to dfterm3 that functions similarly, but players must wait in a queue before assuming control for a given period of time. It also functions via a DFHack plugin. Binaries are available for Windows, as well as the source (written in C++). (Note: main repo unmaintained. New repo last updated 5/22/2015.)
A remote SSH-based Dwarf Fortress host software. (repo)
A utility that connects a locally-run Dwarf Fortress instance to a proprietary remote website, allowing remote browser-based play. (Note: Main website no longer available. Client source here.)
iOS app (paid) that allows one to play Dwarf Fortress remotely with native UI. A server can be set up at home, or on DigitalOcean, AWS or other hosting service.
DFPlex is a plugin for DFHack which introduces simultaneous, real-time online co-op to fortress mode: each player has their own independent view, cursor, menus, etc. so nobody has to wrestle for control. It's a fork of webfort, so players join just by connecting from their web browser.
A language creating tool.
A language editing and translating tool.
A little tool meant to prevent redundancy when importing or updating language files.
This simple script will extract words from language files and put them a word per line, for easy automatic translation or treatment. It can also read that list and put the translated words back in their place.
An announcement monitoring/filtering program, useful to hide some types of job cancellation spam or other more advanced filtering. Note that you can set the game to announce no job cancellations without any utilities or mods from the rders menu, with .
An alternative to DFMon written in Java (and thus portable to Linux and OS X).
Announcement Window+ is a Python application that interfaces with Dwarf Fortress to print announcements and combat reports to a separate window. It was written to fix some annoying bugs that are present in DF Announcement Filter, which is no longer being updated.
The Dwarf Fortress File Upload Service - an excellent place to store mods, community games, tilesets and other files. Courtesy of Janus; for files related to Dwarf Fortress only.
The Dwarf Fortress Map Archive is a large collection of user-submitted maps and videos and a nice flash viewer for perusing them. Maps are uploaded, stored, and downloaded in a special compressed format created by the DF Map Compressor; videos are stored in a compressed version of Toady One's own video-recording format.
Read more about the DF Map Archive on Markavian's User page.
The DF Map Compressor encodes multiple bitmaps exported from Dwarf Fortress into a single, very compressed, .fdf-map file. The fdf-map file can then be shared with your friends by uploading to the DF Map Archive.
Exita is a Python program that takes your DF world map exports and dump them into several different text outputs.
A tool that lets you import your legends XML file and converts all dwarf entries to a .GED file, which you can use in Family Tree programs like MyHeritage to display a family tree for the dwarves.
A Python script that generates random names in the way of kobold utterances
Watches the Dwarf Fortress devblog. Receives Push Notifications on new updates.