Automatische aanvulling, ook wel auto-aanvullen of autocomplete genoemd, is een optie die door veel broncode-editors, tekstverwerkers en webbrowsers gebruikt wordt. Bij automatisch aanvulling voorspelt het programma het woord of de zin die de gebruiker wil typen zonder dat deze dit al volledig heeft ingetikt. Deze aanpak kan vaak efficiënt gebruikt worden wanneer het relatief eenvoudig is om de nieuw ingevoerde woorden te voorspellen, gebaseerd op deze die al zijn ingevoerd, omdat een beperkt aantal woorden typisch zijn voor e-mailprogramma's, browsers, shells van besturingssystemen, of omdat de taal sterk gestructureerd is en makkelijk te voorspellen, zoals in broncode-editors. Automatische aanvulling maakt de interactie met de computer sneller en aangenamer, tenminste voor die toepassingen waar dit aangewezen is.
In webbrowsers wordt automatisch aanvullen vaak gebruikt in de adresbalk, en ook in tekstinvoervelden van veelgebruikte pagina's, zoals in Googles zoekveld. De automatische aanvulling van internetadressen is bijzonder handig omdat de volledige adressen vaak lang en moeilijk correct te typen zijn.
In e-mailprogramma's wordt automatische aanvulling gebruikt om de e-mailadressen van de bestemmelingen aan te vullen. In het algemeen is het aantal adressen waarnaar een gebruiker normaal mails zendt beperkt, dus is het relatief eenvoudig om automatische aanvulling gebruiken om een adres te kiezen, meestal uit het adresboek van de gebruiker. Aangezien adressen lang kunnen zijn, of moeilijk om correct te onthouden, is het volledig intypen niet praktisch.
Automatische aanvulling in broncode-editors noemt men ook wel "automatische code-aanvulling" of "code completion". In deze editors is aanvulling mogelijk door de welbepaalde structuur van de programmeertalen. Over het algemeen hebben slechts een beperkt aantal woorden een betekenis in de huidige naamruimte, zoals de namen van variabelen of functies. Automatische aanvulling komt dan vaak van pas. Een bekende en handige soort van automatische aanvulling in broncode-editors is gebaseerd op Microsofts IntelliSense ontwerp. Daarbij toont men een popup-lijst met de mogelijke woord-aanvullingen voor de letters die de gebruiker al getypt heeft, waarbij de gebruiker dan het gewenste woord kan kiezen. Dit komt erg van pas in objectgeoriënteerd programmeren omdat de programmeur vaak niet alle members van een bepaalde klasse kent. Automatische aanvulling en IntelliSense vormen dan een soort handige korte documentatie en ook een invoermethode. Een ander voordeel is dat dit de programmeurs aanmoedigt om langere, meer beschrijvende namen, met zowel hoofd- als kleine letters, te kiezen voor hun variabelen, wat de broncode veel leesbaarder maakt. De automatische aanvulling staat immers in voor het anders vervelende en moeilijke intypen en onthouden van deze lange namen.
In veel tekstverwerkers vermindert automatische aanvulling de tijd die men moet spenderen aan het typen van repetitieve woorden en zinnen. De bron voor het aanvullen wordt verzameld uit de rest van het huidige document of uit een lijst van veelgebruikte woorden die de gebruiker heeft gedefinieerd. Tegenwoordig ondersteunen LibreOffice, OpenOffice.org, Microsoft Office en KOffice automatische aanvulling.
In de tekstuele shell van besturingssystemen, zoals sh of bash in UNIX of een DOS-venster in Windows, of in gelijkaardige interfaces waar men met commando's werkt, kan automatische aanvulling van commando's en bestandsnamen gebruikt worden door bij te houden wat alle mogelijke namen of zaken zijn waar de gebruiker toegang tot heeft. Hier wordt automatische aanvulling vaak opgeroepen door op de TAB-toets te drukken nadat men al een aantal letters van een woord heeft ingetikt. Bijvoorbeeld: als het enige bestand in de huidige directory dat begint met de letter x het bestand xLongFileName is, kan de gebruiker x typen en vervolgens de naam automatisch laten aanvullen. Indien er nog een bestandsnaam of commando was in hetzelfde bereik dat met x begint, moet de gebruiker vaak enkele letters meer typen om duidelijk te maken wat bedoeld wordt.
Veel mobiele telefoons ondersteunen automatische aanvulling bij het typen van tekstberichtjes. Daar worden automatisch langere woorden aangevuld, gebaseerd op een woordenboek, naarmate de gebruiker meer en meer letters van het gewenste woord typt. Door de moeilijkere en langzamere manier van tekstinvoer via een telefoontoetsenbord, kan dit het typen van sms'en sterk versnellen.
Autoreplace is een optie die min of meer verwant is met automatische aanvulling. Hierin wordt automatisch een stuk tekst vervangen door een ander, dat meestal langer en moeilijker om te typen is, bijvoorbeeld "mijnnaam" laat men automatisch vervangen door "Lee John Nikolai François Al Rahman".