Home

Awesome

<div align="center"> <a href="https://www.algolia.com/doc/ui-libraries/autocomplete/introduction/what-is-autocomplete"><img src="./media/banner.png" alt="Autocomplete" width="1280"></a> <p> <strong>A JavaScript library that lets you quickly build autocomplete experiences</strong> </p>

Version MIT License

</div>

All you need to get started is:

The data that populates the autocomplete results are called sources. You can use whatever you want in your sources: a static set of searches terms, search results from an external source like an Algolia index, recent searches, and more.

By configuring just those two required parameters (container and getSources) you can have an interactive autocomplete experience. The library creates an input and provides the interactivity and accessibility attributes, but you're in full control of the DOM elements to output.

<p align="center"> <a href="https://codesandbox.io/s/github/algolia/autocomplete/tree/main/examples/playground?file=/app.tsx"> <img src="./media/screenshot.png" alt="Screenshot"> </a> <br> <br> <strong> <a href="https://www.algolia.com/doc/ui-libraries/autocomplete/introduction/what-is-autocomplete">Documentation</a> • <a href="https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete">API</a> • <a href="https://codesandbox.io/s/github/algolia/autocomplete/tree/main/examples/playground?file=/app.tsx">Playground</a> </strong> </p>

Installation

The recommended way to get started is with the autocomplete-js package. It includes everything you need to render a JavaScript autocomplete experience.

Otherwise, you can install the autocomplete-core package if you want to build a renderer from scratch.

All Autocomplete packages are available on the npm registry.

yarn add @algolia/autocomplete-js
# or
npm install @algolia/autocomplete-js

If you don't use a package manager, you can use the HTML script element:

<script src="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-js"></script>
<script>
  const { autocomplete } = window['@algolia/autocomplete-js'];
</script>

Usage

To get started, you need a container for your autocomplete to go in. If you don't have one already, you can insert one into your markup:

<div id="autocomplete"></div>

Then, insert your autocomplete into it by calling the autocomplete function and providing the container. It can be a CSS selector or an Element.

Make sure to provide a container (e.g., a div), not an input. Autocomplete generates a fully accessible search box for you.

import { autocomplete } from '@algolia/autocomplete-js';

autocomplete({
  container: '#autocomplete',
  // ...
});

Continue reading our Getting Started guide.

Documentation

The documentation offers a few ways to learn about the Autocomplete library:

You can find more on the documentation.

Support

Packages

PackageDescriptionDocumentation
autocomplete-jsJavaScript package for AutocompleteDocumentation
autocomplete-coreJavaScript core primitives to build an autocomplete experienceDocumentation
autocomplete-plugin-recent-searchesA plugin to add recent searches to AutocompleteDocumentation
autocomplete-plugin-query-suggestionsA plugin to add query suggestions to AutocompleteDocumentation
autocomplete-plugin-algolia-insightsA plugin to add Algolia Insights to AutocompleteDocumentation
autocomplete-preset-algoliaPresets to use Algolia features with AutocompleteDocumentation
autocomplete-theme-classicClassic theme for AutocompleteDocumentation

Showcase

See the awesome experiences people built with Autocomplete:

DocSearchAlgolia Documentation
<div align="center"><a href="https://docsearch.algolia.com">DocSearch</a></div><div align="center"><a href="https://algolia.com/doc">Algolia Documentation</a></div>

Find more in our Showcase.

Sandboxes

Check out sandboxes using Autocomplete.

License

MIT