From STEP Modding Wiki

A comprehensive guide for xEdit -- by the S.T.E.P. Team and contributing members


Weapon.png Under Construction: This page is incomplete but all info is relevant!
  • The original author isn't a native English speaker. This page need orthographic, grammatical, and syntactic review


About xEdit

xEdit is an advanced tool for analyzing and editing Bethesda's game plugins. It works by loading one or multiple plugins (.esp), along with their explicit masters (.esm), and displaying their contents in a specific user interface. It provides a clear layout and useful navigation controls to visualize the data of the loaded plugins, as well as powerful editing functions to clean, edit, or even create new plugins for mods and mod patches.

xEdit was originally developed by ElminsterAU as TES4Edit, for TES: Oblivion. It then was updated to handle Fallout 3 (FO3Edit) and Fallout New Vegas (FNVEdit). Finally, support for Skyrim (TES5Edit), Fallout 4 (FO4Edit), and Skyrim SE (SSEEdit) was added by the authors: Hlp, Sharlikran, and Zilav. These different versions of the tools collectively became known as, "xEdit" within the modding community. Therefore, xEdit is often used to refer to the specific version for whichever game is being discussed.

It is important to note that whichever version has been downloaded, they are all the same executable. It's possible to switch from one version to another by simply renaming the executable to the proper name, or by attaching an argument to the executable, which switches the program for use with a specific game.

Installing xEdit

Video play triangle.png
Related Videos:


Only the latest official version of the game for which xEdit is being used for.


  1. Download either the official release on Nexus Mods. Developer (beta) versions can be found on GitHub.
    The official topic for discussion is on AFKMods.
  2. Extract the archive, then put this folder somewhere smart. Using a "Modding Tools" folders is a good practice.
  3. For Mod Organizer users, it's critical to add xEdit to the executable list. If not, installation is already over, but it's recommended to create a shortcut for easy access.

Post-Installation: Language Setup

If using a non-English game installation, there is an additional step required to complete the setup of xEdit. This step requires users to launch xEdit and launch a session. Please view the "Launch and Basic Features" section below on how to do this.

To set the language once the session is loaded:

  1. Right-click anywhere in the left pane to bring up the contextual menu
  2. Navigate to Other -> Localization -> Language -> Choose your language.
    Available options are dependent on the string-translations files found in: ..\Steam\steamapps\common\GameFolder\Data\Strings\
Info-Logo.png      Notice:This doesn't change the language of the xEdit interface, only the way xEdit deal with String data.

To prevent having to modify the language manually each time xEdit is started, it's possible to start with an argument (MO can do it directly, non-MO user have to setup a shortcut). The argument should be: -l:XX ...where XX is the tag of the language (en for English, fr for French, etc...).

Additionally, if using xEdit to work with Fallout 4, languages with accents will need UTF-8 encoding support. To do so, xEdit must be started with the following argument: -cp:utf-8

Launch and Basic Features

xEdit is launched by simply double-clicking the icon for standard users, or launching it through Mod Organizer for MO users. It will automatically detect the game folder as well as the current Load Order.

Launch Arguments

Starting with v4.0 xEdit no longer allows editing of master files (ESMs) to prevent unwanted edits that may cause issues. This parameter allows editing of master files again, however, it must be combined with -IKnowWhatImDoing to be active.
Added in v4.0
This parameter will skip the Plugin Selection dialog and load all plugins that are active according to plugins.txt. It also skips the ModGroup Selection and automatically loads all valid ModGroups.
Added in v4.0
Implies -autoload. The parameter will automatically activate GameLink in Reference mode at the end of the Background Loader.
Path to save backup files.
Set which encoding to use to read STRINGS files.
Starting with v4.0 general strings always explicitly use codepage 1252 (ANSI - Latin I). This parameter overrides this coding, where <codepage> is either utf8 or a codepage number.
It should normally never be necessary to override this! See release notes to view supported languages.
Path to the data directory. (shouldn't be used in common use-cases)
Path to save edited plugins (note that upon exiting, edited plugins in the Data folder will be overridden independently of this setting).
Sets the program to run for a specific game. The name of the xEdit executable is ignored when using this argument
Valid entries are: TES3, TES4, TES5, F03, FNV, FO4, SSE, FO76
Path to look for <game>.ini, including the <game>.ini name. (shouldn't be used in common use-cases)
Added in v4.0
Loads all ESL files into full slots, allowing them to behave as normal plugins; ignoring the ESL flag and the .esl extension.
This parameter unlocks advanced features in the editing of plugins and is therefore not recommended for all users. If all the user is doing is cleaning plugins, avoid this argument.
Set which set of STRING files to use to display localized plugins strings.
This will load the plugin selection from the MO profile named in the switch.
This is only for MO1, not MO2.
Sets the output path for files created in xEdit.
Full path to plugin.txt, including plugin.txt.
Should only be used by advanced users to run multiple instances of xEdit on different load orders quickly.
Added in v4.0
Loads all ESL compatible plugins into "light" slots, even without the ESL flag and the .esl extension. This works even for games that do not have ESL support in the game engine.
Added in v4.0
After selecting a single module, the module and required masters are loaded. A filter for cleaning is automatically applied for the selected module only, and "Undelete and Disable References" and "Remove "Identical to Master" records" are executed for the selected module. This parameter also automatically turns off "Simple Records" and sets "I Know What I'm Doing" mode (to prevent the edit warning).
Added in v4.0
Same as -quickclean above, but the "Filter, UDR, remove ITMs" sequence is repeated 3 times, automatically saving the file after each iteration, and finally "BOSS/LOOT Cleaning Report" is executed.
Added in v4.0
After confirming plugins to be loaded, this parameter automatically loads all valid mod groups and applies "Apply Filter to show conflicts".
Added in v4.0
Same as -quickshowconflicts above, but automatically loads the plugins as specified in plugins.txt, without showing the plugin selection dialog.
Holding down [CTRL] when starting will allow the plugin selection dialog to be displayed.
Path to save log files.
Added in v4.0
Resets all xEdit settings to default.
Holding [Shift+Ctrl+Alt] when starting xEdit is an alternative that triggers a dialog asking if all settings should be reset. Whichever method is used the existing settings file is backed up and all settings are reset to their default values.
Path to xEdit scripts. (shouldn't be used in common use-cases, if scripts are located outside of the Edit Scripts folder, use a .<game>pas extension instead).
Forces xEdit to run a certain script on startup. One useful example is -LODGen.
Added in v4.0
Used when packing archives to make binary identical files use the same data in archive. Data hashes are calculated using MD5 from TForge library.
Path to save temporary files.
Multiple arguments

When adding multiple arguments, these should be separated by a "space":
-FO4 -l:fr -IKnowWhatImDoing

Loading Plugins

Loading Menu

The first menu is the Master/Plugin Selection Menu. Closing this menu instead of pressing OK will close the program. This menu is used to determine which plugins will be loaded and analyzed in xEdit. By default, plugins already checked are those plugins active in the load order. Plugins are sorted according to your load order. To select which plugin to load, it's possible to:

  • Check/Uncheck plugins manually.
  • Use "Select All" from the contextual menu to select every plugins.
  • Use "Select None" from the contextual menu to deselect every plugin.
  • Use "Invert Selection" to select currently unchecked plugins and vice-versa.
Info-Logo.png      Notice:This is not possible to modify the load order from xEdit. Load order should be modified before launching the application.

On top of the selection, a "Search" field allow to highlight plugins name that contain the typed text (non case-sensitive), and set the view to the highest highlighted plugin.

This allows the user to quickly choose which set of mods (or which single mod) to load.

Most common uses for end-users are:

  • Use the default selection to check the current load order (in order to spot/resolve conflicts)
  • Use "Select None" first, then select a specific plugin to load, or double-click on it for instant-load.
Info-Logo.png      Notice:Using double click to load a plugin is the same as : Select None -> Checking the single plugin being clicked -> Pressing OK.
Holding Shift while pressing [OK] will skip the process of generating the database entries and quickly present the plugin list for editing.

It's important to note that even unselected, explicit masters of loaded plugins will be loaded as well. This imply that the main game file (Skyrim.esm for Skyrim) should always be loaded.

Info-Logo.png      Notice:There is another type of dependency that sometimes needs to be addressed which will not load the needed plugins by double-clicking. This is called implicit dependency.

Once the selection is done, clicking the OK button or pressing Enter will load the selected list.

xEdit will display messages both in the "Messages" tab and in the footer of the application, while running the Background Loader. Depending on the user system, the number of plugins and their content, this operation can take up to several minutes.

Once completed, this message will appear in the "Messages" tab and in the footer: [01:03] Background Loader: finished. If not, it simply means that the Background Loader is still running, even if it doesn't actually add new lines to the "Messages" tab.

Definition-Logo-Black.png Definition: xEdit Session
For convenience, the period from this point until you close xEdit, and every action performed in the meantime, will be referred to as an "xEdit Session" or "Session" for short.

The user interface and available functionalities will be explained in the next sections of this guide.

First Edit Warning

At the 1st try to edit one of the loaded plugins, xEdit will display an explicit warning, asking if yes or no the program should actually start editing modules. Once clicked "Yes I'm absolutely sure", this warning won't appear again until you quit the current session and re-open a new one.
If this warning appears unexpectedly, clicking "Hmm.. let me think about it some more" will cancel the unexpected editing operation. The warning will then be displayed again the next time xEdit try to edit something, until the user select "Yes I'm absolutely sure".

Info-Logo.png      Notice:Even if "Yes I'm absolutely sure" is clicked by mistake, changes aren't saved until exiting the application. See Exit and Save section

Save and Exit

Video play triangle.png
Related Videos:

If nothing have been modified, exiting the program by using the red cross or the Alt-F4 shortcut will simply close the application. If there is anything which have been modified, xEdit will bring up a Saving Menu before closing.

Saving Menu

The Saving Menu layout is similar to the "Master/Plugin Selection Menu", except it only display mods which have been modified during the session, and contains a "Backup Plugins" Checkbox.

To save changes made to a plugin, this plugin need to be checked in the save menu. If the "Backup Plugins" Checkbox is checked, original plugins will be saved under the "Data\xEdit Backup" folder. (MO users : The "xEdit Backup" folder will be created in the overwrite.) Plugins backup see their name modified from PluginName.esp to PluginName.esp.backup.YYYY_MM_DD_HH_NN_SS where the last part represent the instant the backup got created. Unchecked plugins won't be saved. It allows to cancel manipulations mistakes during the session (unwanted edits on a mod).

Using Ctrl  + S   will save the work done during a session without exiting xEdit. This is useful for long sessions. Saving won't actually save the plugin with it's modification, but create a "backup" of the plugin with the changes, following the same convention as the backups created when exiting with the "create backup" checkbox ticked.

Warning-Logo.png      Warning:Using the "auto-save" option available under the options is strongly discouraged. Not only is this feature barely useful, it will also lead to xEdit crashing if an edit is currently being done whenever the automatic save process.

To exit without saving any of your changes, right click on the list in the save menu and choose "Select None" to untick every plugins, then press OK.

Pressing OK will exit the program and save/backup plugins according to your selection.

What is actually saved ?

xEdit only save changed records, not the whole plugin. It means that records which haven't been modified during the session are exact byte-to-byte copy of the original plugin. This prevent xEdit from corrupting data it doesn't understand.
Warning-Logo.png      Warning:Clicking the red cross of the "Saving Menu" have the very same effect than pressing OK. Don't think of it as a "Cancel" Button, use "Select None" from the contextual menu if you don't wish to save your changes !


The options menu is available once the session is open.

To open it, bring up the contextual menu by right-clicking anywhere in the Left Panel, and Navigate to "Other" -> "Options"

The Options menu contains 4 tab :

  • General
  • Cleaning
  • References building
  • UI Settings
Options: General

Options: General
Options: Cleaning

Options: Cleaning
Options: References Building

Options: References Building
Options: UI Settings

Options: UI Settings


  • Hide unused: Default: Checked.
  • Hide ignored: Default: Unchecked.
  • Hide "never shown": Default: Checked.
  • Hide templated fields on actors: Default: Checked.
  • Load BSAs: Default: Checked.
  • [FO3/FNV] Sort FLST: Default: Checked.
  • Sort INFOs: Default: Unchecked.
  • Remove OFST offset data: Default: Checked.
  • Simple records LAND, NAVI, NAVM, CELL, WRLD (requires restart): Default: Checked. Require to restart xEdit for the changes to take effect.
  • Show values of flags and enumerations (requires restart): Default: Unchecked. Require to restart xEdit for the changes to take effect.
  • Show elements count for group records: Display the number of records a group contain in the tree panel. Default: Unhecked
  • Clamp FormIDs: Default: Checked.
  • Auto save: Enable auto save. Will prompt you after a certain amount of time spent in xEdit if you want to save your changes Default: Unchecked. see also Exit and Save section
  • Track all EditorID: Default: Unchecked.


This tab allow to set preference regarding the "Undelete and Disable Reference" functionality. see Undelete and Disable Reference functionality section

  • Set enabled state opposite of player (deactivate at your own risk, this is a critical setting) : Will set the "disabled" flag on un-deleted references. Should always be left enabled.
  • Set scale to : If enabled, the UDR will be scaled to the specified size.
  • Set Z position to : If enabled, UDR will be moved at the specified Z position.
  • [FO3/FNV] Replace MSTT FormID with :

References building

This tab allow to prevent auto-build of references at the session start for specific plugins. see Build Reference Info functionality

Use Add to select plugins to exclude from the list of loaded plugins, and Delete to re-enable autobuild references for selected plugins.

UI Settings

Conflict Color Font and Conflict Color Background :
These settings change the color used to identify conflicting states in xEdit.

Warning-Logo.png      Warning:As the default color is the standard used in related discussions and guides, including this one, it is highly discouraged to modify it. see Color Code in xEdit section

Records Font, Messages Font and Viewer Font :
These settings change the font used in the related parts of the UI in xEdit. Default for all of them are :

  • font: "Segoe UI"
  • style: normal
  • size: 9


Navigation bar

Navigation Bar

The Navigation Bar display the internal path to your current selection. Note that it will only appear once something has been selected in the Tree View. The two buttons on the right of the bar allow users to move to the previous or next element.

Info-Logo.png      Notice:Those aren't undo/redo buttons, only previous/next! They're intended for navigation only!

The location displayed in the text field is formatted as follows:
[XX]PluginName.esp\GRUP\..\FormID <EditorID>


  • XX is the index of the plugin currently being looked at in the session's load order
  • PluginName.esp is the name of the plugin currently being viewed
  • Group is the group of records being viewed
  • .. can contains additional sub-groups when relevant
  • FormID is the formID of the record being viewed
  • EditorID is the Editor ID of the record being viewed

The plugin "being viewed" is whatever is currently selected in the Tree View, and is displayed in the View tab of the right panel, if it's a record.

Definition-Logo-Black.png Definition: xEdit Selection
The current selection displayed in the Navigation Bar will be refereed to as "xEdit Selection", "Selection" or "selected element" for the rest of this guide

Tree Panel

The Tree Panel, on the left, display plugins loaded in the session.

There is an additional <gamename>.exe, which is at the same load order position as the main game plugin, e.g. Skyrim.esm (should always be [00]).
Skyrim.exe represents "hard-coded records". They are those available in the official modding tool by default when creating a "blank" project. These records are actually located in the <gamename> file located in the xEdit installation folder (this file is actually a renamed .esp file), and are loaded alongside their related master file automatically.

Two search-fields "FormID" and "EditorID" are available above the tree, which allows to search a specific record, knowing either it's FormID or EditorID.
While searching by FormID is extremely fast, searching by EditorID take a lot of time, and will only center the view on the first record having a partial match with the term.

The Tree Itself contains 3 columns : "FormID", "EditorID" and "Name". While it's impossible for a record to have no FormID, bad manipulation in the CK can lead to Blank EditorID. "Name" is optional, or even unavailable for certain records, thus not all records have one.
For Cells' records, the name will be the coordinates of this Cell in the worldspace : < X, Y>
Fro groups, if Show elements count for group records is ticked in the options, the number of records for this group will be indicated in the Name column. see Options

Plugins loaded in the session appears with an [XX] prefix, which represent their position in the session's load order as an hexadecimal number.

Tree Panel


When looking for a specific record, it can be useful to sort the Tree Panel table by FormID, EditorID or Name, depending on the information known about the record(s) to find. To do so, a simple click on the desired column header will sort the table.

When sorting the table as such, it's recommended to right-click on the column header to bring up the contextual menu, and select Files -> Always by Load Order. This way, sorting the table won't affect the order in which plugins are displayed in the tree, but instead sort the records in each of them according to the chosen sorting column.

Other options for this contextual menu are "As Selected" (default), which will sort everything, plugins and records alike, and "Always by Name", which will maintain plugins sorted in the tree by alphabetical order instead of their load order position. This last option can be useful to quickly find a plugin in the tree when only knowing its name but not its position in the load order.

Navigation and Selection

It's possible to expand/collapse each plugin to see it's content. This can be down by clicking on the + icon on the left of the plugin's name, by double clicking on the plugin's name, or by pressing   when the plugin is selected. To quickly browse elements in the Tree Panel, it's possible to use   and   keyboard controls to select elements, as well as   and   to expand or collapse clusters.

When expanding a plugin, it display a list of "records category" called GRUPs. GRUPs can usually be expanded as well. When expanding a GRUP, depending of it's type, it will either display a list of records, or a list of sub-GRUP. Records cannot be expanded on the Tree Panel, instead their data are displayed in the Right Pane when they are selected.

When the focus is ont the right pane, it is possible to move and expand/collapse groups in the Three Panel by holding Alt   and using the arrow keys.

Interactions and Available Information

The line of a plugin indicate its load order position in the current session, and its name and extension (.esp or .esm).

When a plugin is expanded, it show its content, always including a "File Header" line, plus the list of GRUPs this plugin have record associated in. If a plugin only has the File Header and no GRUP, this is what is called a dummy plugin. Dummy plugins are usually intended to force the game to load an associated .bsa file.

The line of a GRUP only display its name. Once expanded, a GRUP display every records in the plugin belonging to this GRUP.

The line of a plugin match the tree's table columns : | FormID | EditorID | Name (if any) |

Additional information are available with the color, background-color and font-style of each line. see Color Code in xEdit section

Right-clicking in the Tree Panel will bring up a contextual menu. Depending on what have been clicked on, and the version of xEdit used, available functionalities in this menu will vary. Some are specific to a game, and others are only available for plugin or record. see Simple Functionalities section, see Advanced xEdit Functionalities section

Right Pane

The right pane is divided in two parts : One for the actual content, and one to choose a tab, to choose which content to display. Available tabs are :

  • View : Will be blank if a GRUP is selected in the Tree View. Will display record's data of the selected Record if one is selected in the Tree View.
  • Referenced By : Only available if a pertinent record is selected in the Tree View. Display a 2 columns table listing every records referencing the one selected, and the plugin they belong to.
  • Message : This is the console output for TES5Edit. This is where information related to what is processed are displayed, and serve as log as well. see Errors and Log : The Messages Tab
  • Information : This is a static page with some basic information on how to use the application.
  • Spreadsheets : There is 3 spreadsheets available : Weapons, Armor and Ammunition. They're used to list every available item from its associated category present in a selection of mod. see Spreadsheet section

View Tab

When a record is selected in the tree panel, its data are displayed in the View tab of the right pane. If not already in this tab or the Reference tab, xEdit will automatically bring it up. With the tree pane, the View tab is the main area of work in xEdit for most users.

Info-Logo.png      Notice:The following explanations related to the file structure are simplified to allow a quick understanding of what is displayed on the View tab. For detailed information on plugins' structure, read the the Guide about Plugins Files

The xEdit View tab is a table. The 1st column on the left provide information about the label of each row displayed:

  • The 1st set of rows constitute the Record Header of the selected record.
  • Each row named this way : XXXX - Some Wording represent a field, i.e. a piece of information defining the record.
    • XXXX is the signature of this field.
    • Some Wording is a name associated with this signature by the xEdit interface, for easier understanding.
      It isn't part of the game data structure. Depending on cases, it is possible to see the same name associated with different signature.
  • The 1st subrecord of the table, no matter for which type of record is selected, is always EDID - Editor ID. This sub-record define the EditorID of the record (also used and displayed in the Tree Panel).
  • Non-indented row without a signature in their label are irrelevant of the actual file structure. They doesn't represent a field. They are generated by the xEdit interface to allow easier reading and editing. They either represent a list of similar field, or a pack of field that are usually edited together.
    While field associated by the xEdit interface to such list or pack are indented in the View tab, they represent a whole field as much as any others.
  • Indented Rows without a signature in their label are simple sub-elements belonging to a field. They doesn't represent a whole field either. The indentation allow to see which field such element belong to. They're displayed on their own line for reading convenience.

A block of row following a hierarchical parent-child structure is what is called a node. A node with no childs is a pit-node, but a node none the less. A node can either be a field, a list/pack of field, or a list/pack of sub-elements belonging to a field. A node differ from a row as it refer to both the parent row and all of it's child nodes. It is an important concept, as in xEdit it is possible to copy/delete/edit nodes as a whole.

Other columns are "plugins columns", they represent the record as it is saved in a plugin. There is as much plugin columns as there is mod in the load order session overriding the selected record. (minus mod which have seen their record hidden by the user. see "Hidden" Functionality section). The title of a mod column is the same as the plugin's line in the Tree Panel : [XX] ModName.esp

Mod columns width can be resized manually, of by clicking anywhere in the View tab and right-clicking to bring up the contextual menu and using options from the "Column Widths" sub-menu. Options for column widths are :

  • Standard : Each column width is set to the same standard. The standard is defined in the options' General tab. (default : 200) see Options section
  • Fit all : Each column width (excepted the title column) is adjusted to be the same, modified in order to see every columns in the tab without the need to use the horizontal scroll bar.
  • Fit text : Each column width is set independently, in order to have data fully displayed in each field without being truncated.

The entry at the intersection of a row and a column will usually be referred to as a "field data" or "data" for short in the following guide. Depending on which field this data is associated with, it will be of different type. However, xEdit allow to modify any kind of data like a string.

Field datas may vary from a plugin to another and are what xEdit is mainly designed to analyze and edit. When two distinctive and independent plugins try to set a different field data for the same sub-record, this create what is called a conflict. The plugin loaded last in the load order is referred to as the "winner", with a green font color in xEdit, and the other one as the "looser", with a red font color.

Info-Logo.png Notice: This is't the only way a conflict can arise. Two plugins editing two different fields of the same record will create a conflict as well. This known as the rule of one.

In a similar situation, except where the winner plugin would refer the looser as an explicit Master, this isn't considered a conflict, since the winner is actually expected to modify some of its master's record. The master is then displayed with a purple font color. More information on this subject are available in the Guide about plugins files and in the #Color_Code_in_xEdit Color Code in xEdit section of this guide.

Hide no conflicts row Functionality

When browsing through records to detect and analyze/resolve conflicts, it is interesting to use the Hide no conflicts row feature, by right-clicking anywhere in the View tab and checking this option.
To re-enable every rows, the same operation will restore hidden rows, "Hide no conflicts row" behave as an ON/OFF toggle.


Hidden rows

Hidden rows
Info-Logo.png Notice: Records without conflicts and single records will display as a completely blank View tab.

This setting persist between xEdit sessions. Do not forget to turn it off when not needed.

"Hidden" Functionality

In specific cases, it can be interesting to hide a record from a specific plugin to analyze conflicts and overrides between specifics plugins only, ignoring others. To hide a column from the current View, right on its header and select Hidden.

This functionality only hide a single record, not the whole plugin.

Non Hidden

Non Hidden
Click on hidden

Click on hidden


This functionality can also be used in a record on the Tree Panel for the very same result. Hidden records will be displayed in a light-grey font color in the Tree Panel. To re-enable a column's visibility, re-do the same operation. "Hidden" behave as an ON/OFF toggle.

Records that have been hidden this way will have their font-color changed to an extremely light-grey in the tree panel.

Info-Logo.png      Notice:When used in the Tree Panel, this functionality can also be used on a whole group, or even a whole plugin, to prevent every records from this group and/or plugin to be displayed in the View tab

To navigate from one plugin to another in the same record, the "Jump To" feature from the contextual menu (right-click on the column's header of the plugin you want to jump to) can be used. It's useful as it will quickly re-focus the Tree Panel on the record in the plugin jumped to, allowing to check which other records from this plugin and GRUP could need the same attention. The currently focused plugin containing the visualized record can be checked by looking at the Navigation bar.

To visualize the content of a record referenced in a field data, use Ctrl  +Left Click. This will refresh the View tab to display this record's data, and focus the Tree View on this record. To quickly come back to the previous record view, use the previous button from the Navigation Bar.

Reference Tab


On the left of the footer is displayed the last line of Information you can find under the "Messages" tab in the right pane.
On the right is a quick link to access TES4Edit's flattr page, where you can donate to ElminsterAU, the original author.

xEdit footer

Cleaning plugins with xEdit

Plugins often required cleaning in xEdit to remove unnecessary and erroneous edits from them. Users should have either an executable set up to run for cleaning or an argument added for this process:

  1. Run xEdit executable for cleaning from the executable list in Mod Organizer (if you are not using Mod Organizer, simply run it manually).
  2. Double-click the plugin to be cleaned.
  3. Wait for the [Removing "Identical to Master" records done] and [Undeleting and Disabling References done] messages.
  4. Then click the [X] to exit the program
  5. At the prompt, make sure the cleaned plugin is checked as well as Backup Plugins and click OK.
  6. If using Mod Organizer, there will be an empty xEdit Backups folder in Overwrite (essentially a fake mod located at the bottom of the left pane if sorted by priority ascending) created by xEdit after cleaning. Double-click Overwrite and delete the empty folder.
Video play triangle.png
Related Videos:

Reading, Analysis and Manipulation

Color Code in xEdit

The color code in xEdit is designed to make it easy to spot overrides and conflicts in the session.

There is two different colorations for each element : the background color, and the text color.

Background Color

The background color of a given element is the same across all plugins. The background color represent the state of this element in the session.

White : Single This element is only present in a single plugin
Green : Multiple but no conflicts This element is present in at least two plugins, but there is no conflicts. For records, this usually means that there is an ITM, or the record have a sub-group which contain different records while its own fields aren't overriden, or that multiple mods use the same injected record.
Yellow : Override without conflicts This element is present in at least two plugins, but only master's data have elements overriden. This means that a plugin make changes to the game by editing some of its master records.
Red : Conflict This element is present in at least three plugins, changes from lower-priority plugins aren't applied in game. The plugin which override changes don't refer overriden plugins as master. This is what most patches such as STEP Patches are solving.
Fushia : Critical Conflict This element is present in at least two plugins, the formID in its master doesn't belong to the plugin's range (it's an injected record, the first two digits of the formID are different than the plugin's position in the load order)., and they're different. A fushia background mean that multiple plugins are trying to inject different records with the same formID.

Text Color

The text color of an element depend on the plugin it is saved in. It represent how the data from a plugin is affected by others in the session.

Black : Single This element is only present in a single plugin. It is usually is associated with white background. Can also be seen on fields with a yellow beckground, which indicate a benign conflict, meaning the record will actually be merged at runtime and don't need conflict resolution.
Purple : Master The element is in its master.
Gray : Identical to master This element in this plugin is identical to the one in its master. For records, it means that this record is somewhat useless, and is known as ITM. ITMs are what's cleaned by the automatic cleaning procedure.
Green : Override without conflict This element is overriding data from its masters.
Olive : Identical to master but conflict winner This element is identical to its master, but override changes from other plugins not reffered to as master. This usually means that an ITM is preventing some changes from another plugin to be applied.
Orange : Conflict Winner This elements is in conflict in multiple plugins, and the change from this plugin is the winner (i.e. it is the one seen by the game). This means that this plugin have the higher priority of all others plugins editing the same element.
Red : Conflict Looser This element is in conflict in multiple plugins, and the change from this plugin is the looser (i.e. its changes aren't applied in game). This means that this plugin have a lower priority than an other one editing the same element.

Ohter formating

Some more informations can be taken from the text formating in xEdit :

  • Elements with italic font belongs to injected records.
  • Elements in bold are elements which have been edited in the current session.
  • Elements underlined are elements referencing an injected records not injected by the same plugin


Filters can be applied to visualize only a selection of records matching specified settings. To apply a filter, right click anywhere in the tree panel and select "Apply Filter".

Saving and Loading Presets

Pressing the "Add" button will save the current filer settings under the specified name. Filters are saved under the in %LocalAppData%\<gamename>\Plugins.<game>viewsettings

Pressing the "Save" button will save the modifications to the currently selected preset.

Pressing the "remove" button will remove the currently selected preset.

Conflicts status overall/for this particular record

Only records with those conflict status will be left in the interface.

Record signature

Only records of the specified signature will be left in the interface

Base record signature

Only references with this base record signature will be left in the interface

Other settings

Deleted : Only deleted references will be left in the interface.
By Injection Status :
By references injected status :
by not reachable status :
by Visible when distant :
by Has Visible When Distant Mesh :
by Persistence :
Scaled Actors : Only filter scaled actors

EditorID contains : Only filter records which have a matching EditorID
Name contains : Only filter records which have a matching name
Base record Name contains : Only filter references which have a matching name
Base record EditorID contains : Only filter references which have a matching record EditorID

Non-filter setting options

Conflict Status inherited by parent : build the conflict status relationship between plugins and master (this is what the "Apply Filter For Cleaning" option does).
Flatten Blocks/Sub-Blocks : Display Blocks/Sub-Blocks in a flat view instead of the default nested one.
Flatten Cell children : Display Cell children in a flat view instead of the default nested one.
Assign Persistent Worldspace Children to Cells : Include persistent references normally located in a "Persistent Worldspace" cell into their actual Cell.

Mod Groups

Mod groups is a feature used to state that it is considered normal/intended that two or more plugins have conflicts. This open a way to better conflict visualisation as intended conflict won't be reported and can be hidden.

To create modgroups :

In the xEdit installation folder, create a blank file with a text editor named xEDIT.modgroups (change xEDIT with the proper game-related name, TES5EDIT.modgroups for Skyrim)

Mod groups are then defined with a name and a list of plugins with the following syntax :

[Modgroup name]

The mod group is only available if all of the plugins listed for this mod group are loaded in the current session. Otherwise its ignored. Plugins listed under the mod group can have two options :

  • Being preceded by a "-", the plugin doesn't become part of the modgroup conflict-wise, but is required for the modgroup to take effect. This is useful to create modgroups including patches which have implicit dependencies (the implicit master should then be added to the modgroup with a "-").
  • Being preceded by a "+", the plugin is optional. If it is absent, the modgroup will still function for all properly for the other plugins listed. If it is present, it will be added to the modgroup.

An useful modgroups to have for anyone is one including all of the game's official DLCs along with the Unofficial Patch. (except if you intend to tracks conflicts between the unofficial patch and the official game, or between the DLCs themselves, i.e. if you're somehow working on the unofficial patch project). In Skyrim's case :

+Unofficial Skyrim Legendary Edition Patch.esp

This way, conflicts between the official DLCs and USLEEP won't show up in TES5Edit if those files are loaded.

Upon launching xEdit with modgroups :

If the requirement for the modgroup are met (all of the plugins with the "-" prefix and all those without any prefix defined in a mod group are present in the session), the mod group will be available in a selection window similar to the one for plugins to enable/disable it before actually starting the session :

If a modgroup is absent from this list / isn't checked when clicking ok, the whole mod groups is ignored, in which case the following message will be displayed in the message tab :

Ignoring ModGroup [ModGroup Name] (from TES5Edit.modgroups): required plugin "PluginName.esp" missing

Additional modgroups can be defined in co-files placed in the Data folder. This feature isn't broadly used in the community but is still functional : Any co-file to a loaded plugin with the .modgroups extension will see its modgroups added to the original list of modgroups defined in TES5Edit.modgroups

Info-Logo.png      Notice:A co-file is a file with a name identical to an other, but with a different extension. Skyrim.modgroups is a co-file of Skyrim.esm.

If both PluginName.modgroups and PluginName.esp are present in Data, PluginName.esp is loaded into xEdit, and PluginName.modgroups include valid modgroups, those modgroups will be available in the modgroup selection.

This feature was originally intended to allow patch-creators to provide co-file with their patches to prevent xEdit from displaying remaining intentional conflicts.

Simple Functionalities

Compare To...

Add, Remove (Tree Panel)

Add, Edit, Remove (View Panel)

Compare referenced records in this row...

Drag&Drop, Copy as...

Worldspace Browser

The worldspace browser is accessible by pressing Alt+F3 within xEdit.

The map is generated with the LODs textures for the visualized worldspace. (by default, LOD32).

By right-clicking anywhere on the map, it's is possible to "Jump To" a Cell in this Worldspace. This will close the worldspace browser and focus xEdit on the record of the exterior cell selected. If clicking in an area where there is childworldspaces that have overlapping cells (such as instanced cities in Skyrim), multiple choices are available.

This is an extremely efficient way to find an exterior cell instead of searching for it in the Tree Panel.


Select (shortcut : F3) : Choose which worldspace to visualize, with several parameters such as displaying the block/sub-blocks grid, the zoom level, whether or not to use the normal maps instead of the diffuse to generate the map, ...


This menu allow to choose several overlay to display over the map to visualize several datas such as regions, regional weather, cells override, map markers, base references, ...

Most of those features need to have the reference informations built to work properly.

Asset Browser

The assets browser is accessible by pressing Ctrl+F3 within xEdit.

The asset browser allow to visualise the whole content of the Data folder, with each file being indicated in which container it is located (folder or .bsa). It is possible to visualise the content of a single container, using the asset browser as a .bsa explorer.

A filter is available to filter assets by name/pathname.

Double-clicking on a file will open it in the associated program in windows. Right-clicking give 4 options :

  • Open
  • Save As
  • Copy All To..
  • Copy name to clipboard

Asset Manager

The asset manager do not have a shortcut, to access it right click on the tree panel, select "Apply Script" and choose "Asset manager".

The asset manager allows to check existence of used assets, list used assets, or copy assets used by a plugin to a separate folder.


Spreadsheets are available at the bottom of the left pane. There is 3 of them, with similar functionalities :

  • Weapon Spreadsheet
  • Armor Spreadsheet
  • Ammunition Spreadsheet

They allow to visualize multiple records in a convenient table that can be sorted for each property.

Upon selecting one of the spreadsheet tab, a prompt will appear to select which plugins to take into account for the spreadsheet. Then, the spreasheet can be filtered by keywords : All keywords used by weapons are in the list. Only weapons having all the keywords checked will be displayed in the speadsheet. For instance, to compare all bows in the session, tick "WeapTypeBow".

Advanced xEdit Functionalities

Record Functionalities

Change FormID

Change Referencing Records

Plugin Functionalities

Check for Errors

Add, Sort and Clean Masters

Renumber FormIDs from...

Batch Change Referencing Records

Build Reference Info

Build Reachable Info

Generate SEQ

Generate LOD

Global Functionalities

Check for Circular Leveled List

Create Merged Patch

Errors and Log : The Messages Tab

Log Analyzer

xEdit Scripting functionnalities

Using Available Scripts

Installing New Scripts

Creating Custom Scripts

The xEdit API


Official Links

  • TES5Edit Nexus Page : Nexus Page, include official release download link.
  • TES5Edit Github repository : Official repository for the project. Include download for official release, developer release, documentation, scripts, ...


  • TES5Edit CreationKit Wiki Page : Original wikipage on the CreationKit wiki. While mostly exact, the page isn't up to date.
  • FO3Edit Training Manual : Nexus Page hosting Miax's guide to xEdit. While not up to date, and originally intented for the Fallout 3 version of xEdit, this is still one of the most comprehensive guide available on xEdit.

Related Forums and Threads