Utility software is software that supports managing the computer infrastructure including computer hardware, system software and application software. Utility software provides for performing tasks as a system administrator (that is, as a user acting in that role). In contrast, application software provides for performing tasks as an end user.

A utility is software that can be classified as utility software. Often a utility is a distinct program, but sometimes multiple utilities are implemented in a single program. For example, BusyBox implements many utilities in a single program. Commonly, a utility provides a command-line interface, but some provide a graphical user interface.

Although an operating system (OS) installation usually includes utilities (which are considered part of the OS), users often install additional utilities. The additional utilities may provide a better user experience or additional functionality.

Often, a user must be authorized for elevated privileges to use a utility since it may affect other users of the system.

Taxonomy

This section is a taxonomy of kinds of utilities.

System management

Antivirus

Protects the host system from computer viruses.

Clipboard manager

Expands clipboard functionality.

Computer access control

Grants or denies requests for access to system resources.

Debugger

Provides for programming-level control of program execution including the examination and modification of program data.

Diagnostic

Determines and reports the operational status of computer hardware and software. For example, a memory tester.

Network

Analyzes the host system's network connectivity, configures network settings, reports data transfer and log events.

Package manager

Configures, installs and updates software on the host system.

Registry cleaner

Cleans and optimizes the Windows Registry by removing old registry keys that are no longer in use.

System monitor

Monitors resources and performance of the host system.

System profiler

Reports information about installed software and hardware.

Storage device management

Backup

Copies data from a storage device for the purpose of recovering from data loss due to events such as disk failure, file corruption or accidental deletion.

Disk checker

Checks a disk for problems.

Disk cloning

Duplicates the content of a disk.

Disk compression

Transparently compress/uncompress the content of a disk, increasing the capacity of the disk.

Disk defragmenter

Reorganizes the data of each file so that it is stored contiguously.

Disk formatter

Writes to a disk so that it can be used for a particular format. Can prepare a disk for initial use or erase the entire disk.

Disk partitioner

Divides an disk into multiple logical drives, each with its own file system which can be mounted by the operating system.

Disk space analyzer

Visualizes disk space use for each file and directory.

Tape initializer

Writes a label to a magnetic tape or other magnetic medium.

Undelete

Supports recovering files that were deleted.

File management

Archiver

Outputs 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

Encrypts and decrypts streams and files.

Data compression

Outputs a shorter stream or a smaller file when provided with a stream or file.

Data conversion

Transforms data from a source file to some other format, such as from a text file to a PDF document.

Data recovery

Recovers data from corrupted files.

Data synchronization

Establishes consistency among data from a source to a target data storage and vice versa.

Disk cleaner

Deletes files that are unnecessary to computer operation, or take up considerable amounts of space.

File comparison

Reports differences between files.

File manager

Provides an interface for performing file management tasks such as deleting, renaming, cataloging, moving, copying, merging, setting file access, creating and modifying directories.

File synchronization

Maintains consistency between two storages for various purposes including redundancy and backup.

Revision control

Manages revisions of files.

Miscellaneous

Data generator

Creates a file of test data according to specified patterns. For example, IEBDG.

Hex editor

Allows for editing the data of a file without regard its format.

HTML checker

Validates HTML code and checks links.

Installation or setup

Initializes or configures programs, usually applications programs, for use in a specific computer environment. An uninstaller does the opposite.

Macro recorder

Permits use of keyboard macros in programs that do not natively support such a feature.

Patching

Modifies files, especially object programs when program source is unavailable.

Screensaver

Controls the host monitor with the intention of preventing phosphor burn-in on CRT and plasma monitors.

Sort/Merge program

Arranges records (usually lines) of a file into a specified sequence.

See also