Grinding Gear Games implemented Item filters into the Path of Exile UI so players can customize how the game client displays items on the ground. This feature remedies the time it takes to find useful / valuable items in game. For those who don't have experience with programming or website development, the code for the item filters might seem complex. However, the information provided here will open the door so that you, the player, can understand how the item filters work.
- 1 Using an existing filter
- 2 Syntax
- 3 Known issues
- 4 List of item filters
- 5 Version history
- 6 See also
- 7 References
- 8 External links
Using an existing filter
- Step 2
- Locate an existing filter, i.e. from List of item filters or elsewhere.
- Step 2A - Copying file
- If the item filter is supplied as downloadable file with the .filter extension, you can simply download it and save it in the folder.
- Step 2B - Copying Contents
- Create a text file with the name you want your Filter to have. When you Save this file, be sure to select 'Save As' and set the file type to "All Files (*.*)". Copy the contents of the filter into the file.
- Then save the file as: filtername.filter
- It should look like this if done correctly
- If you cannot see your file extension, Show/Hide File extensions in Windows
- Step 3
- Go to the in-game Options menu and click on the UI tab. You should see this new option, located at the very bottom of the list:
- If your Filter is not a .filter file, or it is not located in the same folder as your production_Config.ini file, you won't see this option.
See https://www.pathofexile.com/item-filter/about for the official page of filter rules.
Please consider the following when reading this wiki page:
- Replace the values in the brackets with a single value
- x-y (i.e. 0-255) is used to show a range of valid values
- Values enclosed with  are optional; remove the 
- Values enclosed with <> are required; remove the <>
The basic syntax of a script is a collection of Show and Hide blocks that each specify conditions. Anything matched by a Show block will be shown and anything matched by a Hide block will be hidden. If there are multiple conditions in a block then all of them must be matched for the block to match an item.
Every block must start with either Show or Hide, and any conditions in that block must start on the next line; indentation is optional. A line with only Show or Hide with no conditions is an "empty block," and matches ALL items, which means that a Hide at the end of the file effectively hides everything that wasn't specifically shown.
The blocks are prioritized in the order they come in the file, meaning that condition blocks that appear earlier in the file take precedence, applying their effects even if their conditions overlap with later blocks. Effectively, the script reads the filter file until it finds the first block that matches the item in question, follows that block's instructions, and then terminates.
# For example, the following would hide all normal rarity items, but fail to show currencies: Hide Rarity Normal Show Class Currency # To fix this, move more specific blocks earlier in the file, and save the most general for last. This would show currencies, but hide other normal rarity items: Show Class Currency Hide Rarity Normal
A line starting with # will be considered a comment and will be ignored.
|Show||If all conditions are matched, show the item and do any actions specified.|
|Hide||If all conditions are matched, hide the item and do any actions specified|
|Continue||Continues block to other match.
This is a special flag that indicates that the filter rule matching should not stop when an item matches this block.
Note that if an item matches a Hide block that Continues, then later matches a Show block, it will use the most recently matched Show or Hide flag, and thus show. If an item matches and Continues and then never matches any further blocks, it will also show or hide based on the most recently matched block.
|Numeric||Like: 20. No quotation marks.||-1,[0-9]|
|String||Text with quotation marks, but not in all condition, as example is Class or BaseType where values could be strings separated by space only||[a-zA-Z]|
|None||When argument is string None must be in quotation marks like "None"||"None", None|
The following comparison operators are used to write conditions. Note that the equal operator (
=) is always optional; if no operator is specified, the condition is assumed to be comparing equality.
||Less than or equal to|
||Greater or equal to|
- Ranges in parentheses are plausible values, but not enforced.
- Every condition can have multiple values separated by a space.
- If a multi-word value contains whitespace, it must be encapsulated in quotation marks, or else it will be parsed as separate (and possibly invalid) values.
|AreaLevel [Operator] <Value>||Numeric Level (0-100)||Filters for items dropped in a particular Monster level of the current area. This is probably the most relevant of the filters, as it allows enabling/disabling filters dynamically depending on leveling.|
|ItemLevel [Operator] <Level>||Numeric Level (0-100)||The item level the item was generated at.|
|DropLevel [Operator] <Level>||Numeric Level (0-100)||The level that the item starts dropping at.|
|Quality [Operator] <Quality>||Numeric Quality (0-20)||The amount of quality on the item.|
|Rarity [Operator] <Rarity>||Normal, Magic, Rare, Unique||Rarity of the item.|
|Class <Class>||Full or partial item class name||The item class. Specifying part of a class name is allowed and will match any classes with that text in the name. So for example "One Hand" will match both "One Hand Sword" and "One Hand Axe"|
|BaseType <Type>||Full or partial item name||The base type of the item. Specifying a part of a base type name is allowed and will match any of the base types with that text in the name.|
|Prophecy <Type>||Full or partial prophecy name||The prophecy name. Specifying a part of a prophecy name is allowed and will match any of the prophecies with that text in the name. Prophecies have the Class type "Stackable Currency".|
|LinkedSockets [Operator] <Links>||Numeric Number of Links (0-6)||The size of the largest group of linked sockets that the item has.|
|SocketGroup [Operator] <GroupSyntax>||Numeric Number of Linked Sockets followed by R, G, B, D, A, W||Supports a list of groups that each one represents linked sockets containing a specific set of colors, at least one group must be matched for the condition to pass.
Each group is composed by an optional number and a sequence of letters. The number specifies the longest link which contains the following color sequence described by the letters. Each letter is short-hand for the colour ([R]ed, [G]reen, [B]lue, [W]hite) or Special ones ([D]elve Socket, [A]byss Socket). For example, 5RRG will match any group that contains two red sockets linked with a green socket in a 5-link group. Delve and Abyss cannot be in the same group as any other, as they cannot be linked.
If a comparison operator is used, it will apply to the numeric portion, so a ">= 5GGG" will match a 5 or more linked group with 3 green sockets.
SocketGroup with A and D socket has no effect. For example "SocketGroup RGBA" or "SocketGroup DD". As Abyss and Delve sockets are never linked.
|Sockets [Operator] <GroupSyntax>||Numeric Number of Sockets (0-6) followed by R, G, B, D, A, W||Does the exact same thing as SocketGroup but does not require the sockets to be linked. So the same example ">= 5GGG" will match 5 or more sockets not necessarily linked, with at least 3 green sockets anywhere.
Unlike SocketGroup, this condition does allow for mixing and using Delve and Abyss sockets, for example, a Resonator with 3 sockets would be "DDD".
|Height [Operator] <Value>||Numeric number of slots (1-4)||The number of slots the item takes on the Y-axis (verical axis), i.e. the height of the item.|
|Width [Operator] <Value>||Numeric number of slots (1-2)||The number of slots the item takes on the X-axis (horizontal axis), i.e. the width of the item.|
|HasExplicitMod <Value>||Full or partial item name||Filter by mods on an item by name. For example: [HasExplicitMod "Tyrannical" ] (Tyrannical=Local Physical Damage 155 to 169%)|
|AnyEnchantment <Boolean>||True or False||If an item has any enchantment from the Labyrinth.|
|HasEnchantment <Value>||Full or partial name of enchantment||Filter by enchantments|
|EnchantmentPassiveNode <Value>||Full or partial name of enchantment||Filter Cluster Jewels by enchantment type.|
|EnchantmentPassiveNum [Operator] <Value>||Numeric number of slots (0-n)||Filter Cluster Jewels by the number of enchantments. Only checks the "Adds X passive skills" modifier.|
|StackSize [Operator] <Value>||Numeric number of slots (1-n)||Currency stack size|
|GemLevel [Operator] <Value>||Numeric number of slots (1-21)||Gem Level|
|Gem Quality Type|
|AlternateQuality <Boolean>||True or False||If an item has alternate quality or not. Note: This is applicable to Alternate Gems introduced in 3.12.|
|Replica <Boolean>||True or False||If an item is an Replica or not. Note: This is applicable to Replica Unique introduced in 3.12.|
|Identified <Boolean>||True or False||If an item is identified or not.|
|Corrupted <Boolean>||True or False||If an item is corrupted or not.|
|CorruptedMods [Operator] <Value>||Numeric number of corrupted mods (0-n).||How many corrupted mods are present.|
|Mirrored <Boolean>||True or False||If the item is a Mirrored item or not. Does not drop normally, except when opening a Strongbox with the "Contains Mirrored Items", or via the Prophecy Kalandra's Craft.|
|ElderItem <Boolean>||True or False||If an item is an Elder item or not.|
|ShaperItem <Boolean>||True or False||If an item is a Shaper item or not.|
|HasInfluence <Type>||Shaper, Elder, Crusader,
Hunter, Redeemer, Warlord, None
|If an item has Influence of a certain type. Note that this also affects Maps that are influenced.
If want item that has no Influence, choose value as None.
|FracturedItem <Boolean>||True or False||If an item is fractured or not|
|SynthesisedItem <Boolean>||True or False||If an item is synthesised or not|
|ElderMap <Boolean>||True or False||If the map is elder or not.|
|ShapedMap <Boolean>||True or False||If the map is shaped or not.|
|BlightedMap <Boolean>||True or False||If the map is blighted or not.|
|MapTier [Operator] <Value>||Numeric Tier (1-17)||The map tier of the map.|
|SetBorderColor <Red> <Green> <Blue> [Alpha]||0-255||Sets the border colour of the item box in RGB values from 0-255 with optional Alpha (opacity) value of 0-255|
|SetTextColor <Red> <Green> <Blue> [Alpha]||0-255||Sets the text colour of the item box in RGB values from 0-255 with optional Alpha (opacity) value of 0-255|
|SetBackgroundColor <Red> <Green> <Blue> [Alpha]||0-255||Sets the colour of the item box in RGB values from 0-255 with optional Alpha (opacity) value of 0-255|
|SetFontSize <FontSize>||18-45 (default: 32)||Sets the font-size of item text.|
|PlayAlertSound <Id> [Volume]||Disable:
|Plays the specified Alert Sound with optional volume when dropped. Only one sound can be played at a time.|
|PlayAlertSoundPositional <Id> [Volume]||Disable:
|Work as PlayAlertSound with Sound Volume relative to distance where Item dropped. Could be usable with low Tier Items to smooth Sounds.|
|DisableDropSound||Disable the drop sound. This is a separate sound from PlayAlertSound.|
|EnableDropSound||Enable the drop sound. This is a separate sound from PlayAlertSound.|
|CustomAlertSound <FileName | FileFullPath>||local path to the file (with quotation marks):
||Plays the specified custom sound when a specified item drops. (almost all of the common file extensions should be supported)|
|MinimapIcon <Size> <Color> <Shape>||Disable:
|Displays an icon on the minimap for specified items.|
|PlayEffect <Color> [Temp]||Disable:
Beam Visualization [Temp]:
|Displays a coloured beam of light above an item highlighted by an item filter.
Use the Temp parameter to have a beam only appear as the item drops.
A list of the default RGB codes used in-game can be found in the corresponding item filter guide section.
- Shows all items with a red, green and blue linked socket
- Changes the text color to a light blue one
Show SocketGroup RGB SetTextColor 127 127 255
- Shows all items that match the following conditions
- Effectively, this means rare Gold Rings and Gold Amulets with item level 75 or higher will be shown
- Changes the border to a yellow border
Show Class Ring Amulet BaseType Gold Rarity Rare ItemLevel >= 75 SetBorderColor 255 255 0
Known issues with workaround. Use at your own risk.
Item filters not found
- Check that the filter has the correct ending (.filter )
- Check whether the item filter is placed in the correct folder
Currently (beta) item filters may not load for users who use a non-ASCII userpath. As a work around you can move your documents folder to a location which does not contain non-ASCII letters. To do so:
Go to your user folder (%USERPROFILE%) -> right click on My Documents -> properties -> path -> move... -> select a new location to move to -> apply
List of item filters
Note: For sorting by multiple columns hold SHIFT.
General purpose filters
|Name||Author||Release||Ingame Features||Other Features||Filtration Support|
|Ajido's Aesthetically Pleasing Loot Filter||Ajido (Twitch YouTube)||2015-07-17||major||major||yes||yes||yes||yes||yes||partial||yes||yes||yes||no|
|EpicFail42's Loot Filter||EpicFail42||2015-06-25||minor||major||partial||minor||partial||major||yes||yes||minor||no||yes||no|
|Ment's Item Filter||Ment2008||2015-04-11||partial||major||major||minor||yes||yes||yes||yes||yes||yes||no||no|
|One Filter to rule them all||Muldini||2015-05-03||minor||minor||minor||minor||yes||yes||yes||yes||yes||yes||yes||no|
Filters that are intended for a specialized purpose, such as leveling a specific class or otherwise.
|Name||Author||Release||Ingame Features||Other Features||Filtration Support||Description|
- (12 May 2015). "Item Filter Suggestions; Identified items, corrupted items, and grid sizes.". Reddit. Retrieved 12 May 2015.
- (2 May 2015). "PSA: You can change the font size in item filters.". Reddit. Retrieved 2 May 2015.