@sLesage This is an early beta. It is a command line tool called with the following parameters: UsesCleaner [<filepath>]<filename> [-c:<configfile>] [-o:<outputpath>] [-l:<logfile>] [-s] <filename> may contain wildcards <configfile> default is UsesCleaner.cfg <outputpath> if not specified, original files will be changed! -s: also handles subfolders   The example config file is targeting Delphi 10.2 Tokyo, but can easily be adjusted. Some entries are self-explaining. [Settings] Indentation=2 Compressed=1 MaxLineLength=130 SearchPath=c:\program files (x86)\embarcadero\studio\19.0\lib\Win32\release; UnitAliases=WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; UnitScopeNames=Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;System;Xml;Data;Datasnap;Bde;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell GroupNames=@DelphiOTA;Winapi;System.Win;System;Data;FireDAC;Vcl;Rz* [Groups] DelphiOTA=ToolsAPI;DesignIntf;DesignEditors The tool will resolve any unit aliases and unit scope names. Then it will group the units according to the order given in GroupNames followed by any remaining units. Plain group names are taken as namespace prefix (like Data or Vcl). Unit names without such namespace can be grouped with wildcards (like Rz* for Raize Components units). You can define groups by simply listing the unit names in the Groups section as it is show with the DelphiOTA group. UsesCleaner.zip