Autocomplete is a JavaScript library that lets you quickly build autocomplete experiences.
The library solves the problem of building interactive search-as-you-type interfaces by handling the core logic and accessibility concerns while leaving DOM rendering to you. It requires only a container element, a data source configuration, and any Virtual DOM solution. You define sources that populate results—these can be static search terms, results from an external service like Algolia, recent searches, or any other data. The library generates a fully accessible input and manages interactivity, keyboard navigation, and ARIA attributes automatically, but you retain full control over how results are displayed.
The tool suits developers who want a lightweight, framework-agnostic autocomplete without being locked into a specific rendering approach. It works with vanilla JavaScript, Preact, React, Vue, and other Virtual DOM solutions. Two entry points serve different needs: the autocomplete-js package provides everything needed for a complete out-of-the-box experience, while autocomplete-core offers just the state management and logic for developers building custom renderers. This flexibility makes it appropriate for both quick implementations and highly customized interfaces.
The project maintains active development with regular updates to both core functionality and documentation. The codebase is written in TypeScript, providing type safety for integrations. The repository includes a playground environment for testing and experimentation, and comprehensive API documentation guides developers through configuration options and advanced patterns.