# Utility software

Utility software is a program specifically designed to help manage and tune system or application software. It is used to support the computer infrastructure - in contrast to application software, which is aimed at directly performing tasks that benefit ordinary users. However, utilities often form part of the application systems. For example, a batch job may run user-written code to update a database and may then include a step that runs a utility to back up the database, or a job may run a utility to compress a disk before copying files.
Although a basic set of utility programs is usually distributed with an operating system (OS), and this first party utility software is often considered part of the operating system, users often install replacements or additional utilities. Those utilities may provide additional facilities to carry out tasks that are beyond the capabilities of the operating system.
Many utilities that might affect the entire computer system require the user to have elevated privileges, while others that operate only on the user's data do not.

## System utilities

* Anti-virus utilities scan for computer viruses and block or remove them.
* Clipboard managers expand the clipboard functionality of an operating system.
* Computer access control software grants or denies requests for access to system resources.
* Debuggers typically permit the examination and modification of data and program instructions in memory and on disk.
* Diagnostic programs determine and report the operational status of computer hardware and software. Memory testers are one example.
* Network utilities analyze the computer's network connectivity, configure network settings, check data transfer or log events.
* Package managers are used to configure, install or keep up to date other software on a computer.
* Registry cleaners clean and optimize the Windows Registry by removing old registry keys that are no longer in use.
* System monitors monitor resources and performance in a computer system.
* System profilers provide detailed information about installed software and hardware.

## Storage device management utilities

* Backup software makes copies of all information stored on a disk and restores either the entire disk (aka Disk cloning) in an event of disk failure or selected files that are accidentally deleted or corrupted. Undeletion utilities are sometimes more convenient.
* Disk checkers scan an operating hard drive and check for logical (filesystem) or physical errors.
* Disk compression utilities transparently compress/uncompress the contents of a disk, increasing the capacity of the disk.
* Disk defragmenters detect computer files whose contents are scattered across several locations on the hard disk and collect the fragments into one contiguous area.
* Disk formatters prepare a data storage device such as a hard disk, solid-state drive, floppy disk or USB flash drive for initial use. These are often used to permanently erase an entire device.
* Disk partition editors divide an individual drive into multiple logical drives, each with its own file system which can be mounted by the operating system and treated as an individual drive.
* Disk space analyzers provide a visualization of disk space usage by getting the size for each folder (including sub folders) and files in folder or drive. showing the distribution of the used space.
* Tape initializers write a label to a magnetic tape or other magnetic medium. Initializers for DECtape format the tape into blocks.

## File management utilities

* Archivers output a stream or a single file when provided with a directory or a set of files. Archive suites may include compression and encryption capabilities. Some archive utilities have a separate un-archive utility for the reverse operation. One nearly universal type of archive file format is the zip file.
* Cryptographic utilities encrypt and decrypt streams and files.
* Data compression utilities output a shorter stream or a smaller file when provided with a stream or file.
* Data conversion utilities transform data from a source file to some other format, such as from a text file to a PDF document.
* Data recovery utilities are used to rescue good data from corrupted files.
* Data synchronization utilities establish consistency among data from a source to a target data storage and vice versa. There are several branches of this type of utility:
** File synchronization utilities maintain consistency between two sources. They may be used to create redundancy or backup copies but are also used to help users carry their digital music, photos and video in their mobile devices.
** Revision control utilities can recreate a coherent structure where multiple users simultaneously modify the same file.
* Disk cleaners find files that are unnecessary to computer operation, or take up considerable amounts of space.
* File comparison utilities provide a standalone capability to detect differences between files.
* File managers provide a convenient method of performing routine data management, email recovery and management tasks, such as deleting, renaming, cataloging, uncataloging, moving, copying, merging, setting write protection status, setting file access permissions, generating and modifying folders and data sets.

## Miscellaneous utilities

* Data generators (e.g. IEBDG) create a file of test data according to specified patterns.
* Hex (or octal) editors directly modify the text or data of a file without regard to file format. These files can be data or programs.
* HTML checkers validate HTML code and check links.
* Installation or setup utilities are used to initialize or configure programs, usually applications programs, for use in a specific computer environment. There are also Uninstallers.
* Patching utilities perform alterations of files, especially object programs when program source is unavailable.
* Screensavers prevent phosphor burn-in on CRT and plasma computer monitors.
* Sort/Merge programs arrange records (lines) of a file into a specified sequence.
* Standalone macro recorders permit use of keyboard macros in programs that do not natively support such a feature.