|This article is about the current version of DF.|
Utilities are third-party applications useful for Dwarf Fortress players and modders, and this page serves as a list of them. Dwarf Fortress is a difficult game to play, and any help that can be had in the task is welcome help. This page lists utilities useful for modders and players alike. 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:
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 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 Dwarf Therapist
- 6 Fortress layout tools
- 7 Modding tools
- 8 World Map / World Gen tools
- 9 Legends tools
- 10 Remote playing tools
- 11 Language tools
- 12 Announcement tools
- 13 Filesharing websites
- 14 Other/miscellaneous
A commonly-used software bundle with a nice launcher. Allows you to start playing DF really quickly on a new machine - no need to download and integrate tilesets and tools like Dwarf Therapist, SoundSense, etc. - 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.
Fortress Overseer is the only 3D visualizer supporting v0.31. It has been completely rewritten and is currently updated to support v0.34.11 and v0.31.25. Overseer works indirectly, by using DFHack's
mapexport to export a file which can then be rendered in 3D. DirectX 9 must be installed, though this requirement is not documented. Has not been tested for 0.40.13.
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.
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.
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.
Music and Sounds
SoundSense is a tool 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 XML's 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.
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".
Falconne's UI plugins are included in DFHack, as are automation tools Autolabor, Workflow, Autobutcher, and many others.
User Interface Plugins
A collection of DFHack plugins by Falconne that improve the in-game interface with features such as:
- Search function in screens with big lists.
- Ability to place furniture before it's built and have it automatically allocated when available.
- Ability to place constructions with box select (like laying designations), including easier material selection and open space placement (without having to wait till adjacent constructions are built).
- Easier pasturing, live happiness monitor, mouse support, stocks dashboard.
Unit Management Plugins
Kloker, A DFhack in-game UI for inspecting and managing units, with colorful summaries and accessible features including automatic labor assignment.
Binary patches are utilities made by users to fix known bugs that haven't been addressed by Toady One yet. DF2014 is in active development, so there are no binary patches yet.
These plugins add features to the game.
- Digging invaders, a plugin that allows hostiles to dig and deconstruct walls to path to one's fortress.
- 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.
DFHack scripts designed for modders to use as "spells" (not in standard package)
DFHack script collection (not in standard package)
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. Besides the Bay12 forum thread, there's more information on the GitHub project page.
See the forum thread for current downloads.
A collection of customizations for Dwarf Therapist submitted by the community.
- custom professions
- custom roles
- optimization plans
- filter scripts
- new grid views
Fortress layout tools
=== DF Designator ===
DF Designator helps you build fortresses from either image files or Quickfort .CSV files. It also has a user interface that allows you to assign hotkeys to blueprints and to combine blueprints in multi z-level designs. Windows, Mac and Linux versions are available. DF Designator uses 'typewriter style' playback, and is thus very slow for large projects.
Quickfort is a utility for Dwarf Fortress that helps you build fortresses from "blueprint" .CSV files (comma separated values). These files are easily created and edited in an app like Excel. Most building-oriented DF commands are supported through the use of multiple .CSV files to describe the different phases of DF construction (designation, building, stockpiles, and making adjustments. Recent versions of Quickfort work by converting the blueprint into a native macro for Dwarf Fortress, then executing the macro. This allows for enormously faster playback compared to early versions or DF Designator.
A large collection of blueprints, published to remove the last hint of hassle in creating a fortress. You can download the lot without a paid account here.
Chromafort is a tool designed to complement Quickfort, by converting images into quickfort-compatible .csv files. It works with 24-bit bitmap (.bmp) files. There are a number of known issues that can affect any image that is not square, and the size must be an exponent of two (8, 16, 32, 64...); other images may show nonexistent colours and/or come out highly distorted.
Picturefort is an attempt to make "Chromafort, but better" - it performs the same function of converting an image to a Quickfort-compatible .csv file. Unlike Chromafort, Picturefort can handle a large number of image formats (though .bmp or .png are recommended); images can be of any shape and within reason size; and while as of May 2014 it is only available on Windows, there are plans for a Linux version.
A fortress planner with a focus on multiple planes of symmetry. It can output csv for quickfort. It's early in development so it's probably not suitable for serious use cases.
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.
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#).
It takes four files as input: the legends XML file, the sites and pops text, world history text, and a map image. It can load these separately, but it is recommended to load them as a single compressed archive (folder) - the XML can be multiple GB uncompressed for long histories, and reduce to less than 5% of its size.
If you have played a fortress and then exported legends, you may get an error about unreadable HEX characters. This is caused by Workflow, which saves its settings as unreadable historical figures. There are several ways to fix this:
- Clear the workflow settings in fortress mode before exporting legends
- Edit the XML by hand, as described here (any platform)
- Use the Legends Processing script (windows only), which fixes the XML and also creates a compressed folder as described above
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#).
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).
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. A 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.