Le-tools.com Forum Contact


What is it

XL-Tools provides a bunch of functions for list of strings, grouped in five categories :

Category Functions
Lists No duplicate, Only duplicates, Count items, Count characters, L1-L2, Column to row, Row to column, List to regex, Concat, Split strings, Split and extract, Merge lines, Replace, Reverse string, Transliterate, Lowercase, Uppercase, Add line number
Sorting Alphabetical order, Numerical order, String length, IPv4 Address, Date and time, Randomize
Conversion Hex to ASCII, ASCII to Hex, Hex to Base10, Base10 to ASCII, URI Decode, URI Encode, HTML Decode, HTML Encode, Base64 to ASCII, ASCII to Base64, SHA1 - Base32 to Base16
Time Anytime to Anytime (Datetime (any formats), Unixtime, ChromeTime, LDAPTime, Filetime, SystemTime, Mac Absolute time, Mac HFS+ time), Time difference, Add time, Substract time.
Utils NSLookup, CIDR to IP Range, IP to Arpa, Arpa to IP, Resolve MAC Address, Resolve GeoIP, Resolve ISP, Resolve User-agent, Credit Card to issuing company, Address to GPS, GPS to Address, Distance between locations, Custom functions

See documentation for more details.


Main window
Lists - Concat
Lists - Split and Extract
Lists - Merge Lines
Lists - Split and Merge
Sorting - Date and time
Conversion - Base 10 to ASCII
Conversion - URI Decode
Time - Anytime to Anytime
Datetime database window
Utils - Resolve MAC Address
Utils - Resolve GeoIP
Utils - Resolve ISP
Utils - Resolve user-agent
Utils - Credit Card to Issuing Company
Utils - Custom functions
Utils - Custom functions - Edit

Version History

Version Comments
  • Removed GeoIP database update.
  • [Utils] Added GPS to Address function.
  • [Utils] Modified Address to GPS function: Google has been replaced by OpenStreetMap.
  • Check update for GeoIP database was not working properly.
  • [Conversion] Added SHA1 - Base16 to Base32 function.
  • [Datetime object] There was a problem with the pattern combobox in the Datetime object window.
  • [Datetime database] New pattern %P (am/pm lowercase) in Database when creating a new Datetime object.
  • [Datetime database] Regex was not including upper cases when creating a new Datetime object with %p pattern (AM/PM uppercase).
  • [Utils] When "IP Range to CIDR" was resolving to more than one range, the function was returning the number of range instead of the ranges.
  • GeoIP2 was generating fatal error when trying to resolve some IP addresses like non public addresses.
  • GeoIP is replaced by GeoIP2 (support for IPv6).
  • Interface for Resolve GeoIP and Resolve User-agent are modified.
  • Some options (Local timezone, Default language, Charset) are moved from Datetime database window to Settings window.
  • You can now change the font for the lists.
  • Open user directory from Settings window.
  • Credit Card to Issuing Company with Binlist.net was not working.
  • When copying results from list 3 to list 1, items were not counted.
  • There was an error in the autoconfiguration of the tool.
  • Best integration with the new XL-Parser tool.
  • [Time] New Mac Absolute time to Anytime function.
  • [Time] New Mac HFS+ time to Anytime function.
  • [Utils] With Resolve IPv4 GeoIP and Resolve User-agent functions, it's now possible to select multiple options.
  • Determine locale timezone.
  • Donwloading and converting MAC OUI database is now faster.
  • Adding or modifying Custom functions is now faster.
  • [Time] With time difference, you can now get result by absolute number of years, months, weeks, days, hours, minutes or seconds.
  • [Utils] New Address to GPS coordinates function.
  • [Utils] New Distance between locations function.
  • [Utils] When Resolve MAC Address function is selected, the current date of the database is displayed.
  • When XL-Tools is used for the first time, some defaults values are set to prevent error with [Datetime]. It includes language (en-US), local timezone (America/New York) and charset (cp1252). You may change these values before using [Datetime] function.
  • [Datetime] Output language is now known as Default language and applies to input as well. If a datetime contains language specific object, like month name, you can set the appropriate default language and XL-Tools will be able to parse it correctly.
  • [Datetime] Double clic on an entry in the Datetime format will open it in the Edit window.
  • [Datetime] There was a problem when timezone was implicetly included with datetime format like unixtime.
  • [Datetime] There was a problem with ambiguous timezone abbreviation like EST, PST, CST, etc. These ambiguous timezones are now set to fit the most appropriate offset. See Documentation.
  • With [Lists] Merge Lines, there was a problem when evaluating required parameters.
  • When creating a new datetime format, there was a bug with the timezone pattern in combobox (%Z-%z).
  • When a list contained more than one empty line at the beginning, items were not enumerated at all.
  • Input and output formats can now be fully customized.
  • Datetime formats are stored in a database: You can add, edit or delete any formats from the database. You can set a format to be use as input, output, both or not used (hidden from list of choices).
  • Local timezone can be customized.
  • Output language and charset can also be customized.
  • Time functions can be used on any string. Data before or after the datetime object can be parsed with the results.
  • Oldest functions like Unixtime to Anytime, ChromeTime to Anytime, LDAPTime to Anytime, Anytime to Unixtime and Date to Weekday are now available using the appropriate datetime formats.
  • Two new time functions have been added for Windows Filetime (64 bits hexadecimal) and Windows SystemTime (128 bits hexadecimal) conversion.
  • New Split and merge function [List], see Documentation
  • Now, XL-Tools comes with an installer.
  • Documentation in now online.
  • New Transliterate function [List], see Documentation
  • Download function for IIN database
  • URI Decode now support two bytes characters like %c2%ae (®)
  • Eval option in function Replace-By [List], see Documentation
  • Regex validation in function Replace-By [List]
  • Stop button didn't work.
  • Auto-update of the tools didn't work sometimes.
  • Unixtime with more than 10 digits freezed the tool.
1.0 First release.


To translate XL-Tools to other languages:

If you translate the tool and you want to share, contact the author.

Available translations:

To install, save the appropriate Lang.ini file in the default folder of the tool (if you used the installer, it should be AppData. Otherwise, it's the same folder of the program).

No translation available for the moment.


Copyright (c) 2015-2020 Alain Rioux (le-tools.com)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.


For database:
For icons:
  • The main logo of XL-Tools has been created by Saki (Alexandre Moore) and is distributed on term of the GNU General Public License.
  • The icon used for Process button comes from Danish Royalty Free Icons by Jonas Rask Design. This icon is distributed as Freeware.
  • Documentation and Cancel (in Utils - Custom Functions) button icons has been created by Oxygen Team on term of the GNU Lesser General Public License.
  • A lot of icons used for buttons come from the Blue Bits collection of Icojam (licensed as "Public Domain") like config, about, open file, delete, check update, import database, etc.
  • Stop icon has been created by emey87 (Manuel Lopez) and is distributed on term of the CC Attribution-No Derivative 4.0 license.
  • Icons for buttons in Utils - Custom Functions and for Datetime database come from Farm Fresh Icons by Fatcow Web Hosting and are distributed on term of the CC Attribution 4.0 license.
  • The check icon used in Configuration Wizard has been created by Cheezen (Anders Bjarnle) and is distributed as freeware.
  • The Copy data from results icon has been created by Yusuke Kamiyamane (http://p.yusukekamiyamane.com) and is licensed under a Creative Commons Attribution 4.0 License.


Source code is hosted on SourceForge and GitHub. Binaries are hosted on SourceForge.

Filename MD5 SHA256
XL-Tools 3.9.1 Setup.exe 04e5b0efc4c05afaf5b04c3ed5bca8f0 0cd0b6efda99ff854874e9692bc91bc55522d61d2892a8e4caffa5ee06bfde8b
XL-Tools 3.9.1.zip fa3f51c0790c6954a1b0a7d2572dd081 e20aecd0c36c705d892caf8aa09df9fdfb80509a52f1eb8b37aa74953d24e5d8
XL-Tools 3.9.0 Setup.exe 4f6ded0002a3284951fcdaca993d921b 245e62b8bc8dd5cb0f0492bf63f98ff8f802ccb6d91fb7af8a1a5167afae157f
XL-Tools 3.9.0.zip 8d9fa2cceafbb0b3c49da8814ba52ce3 bcd574d9d5b350dc78e0038166fa91058a0e53c375e31b6bae61dd4829635f2c

Download XL-Tools

If you want to download the standalone version or an older version, check on SourceForge.

Additional content
Datetime Database [Updated 2019-03-02] This database is used with sort by date and time function and with all functions in Time.
Custom Function - Resolve TLD Custom function that resolves TLD to country name or organisation. Uncompress and use the import function to add.
Custom Function - State code to State Custom function that resolves State code to State name (US and Canada only). Uncompress and use the import function to add.
Custom Function - Language code ISO-639-1 Custom function that resolves the language code to the language name, based on ISO-639-1.

If you install many tools of the XL-Toolkit, you should follow these instructions.

Copyright (c) 2015-2020 Alain Rioux