Skip to content
vic

twitter/typeahead.js

typeahead.js is a fast and fully-featured autocomplete library

twitter/typeahead.js.json
{
"createdAt": "2013-02-19T19:45:01Z",
"defaultBranch": "master",
"description": "typeahead.js is a fast and fully-featured autocomplete library",
"fullName": "twitter/typeahead.js",
"homepage": "http://twitter.github.io/typeahead.js/",
"language": "JavaScript",
"name": "typeahead.js",
"pushedAt": "2023-04-14T07:24:33Z",
"stargazersCount": 16495,
"topics": [],
"updatedAt": "2025-11-27T02:05:53Z",
"url": "https://github.com/twitter/typeahead.js"
}

build status Built with Grunt

Inspired by [twitter.com]‘s autocomplete search functionality, typeahead.js is a flexible JavaScript library that provides a strong foundation for building robust typeaheads.

The typeahead.js library consists of 2 components: the suggestion engine, [Bloodhound], and the UI view, [Typeahead]. The suggestion engine is responsible for computing suggestions for a given query. The UI view is responsible for rendering suggestions and handling DOM interactions. Both components can be used separately, but when used together, they can provide a rich typeahead experience.

[gh-page] !: http://twitter.github.io/typeahead.js/ [twitter.com] !: https://twitter.com [Bloodhound] !: https://github.com/twitter/typeahead.js/blob/master/doc/bloodhound.md [Typeahead] !: https://github.com/twitter/typeahead.js/blob/master/doc/jquery_typeahead.md

How you acquire typeahead.js is up to you.

Preferred method:

  • Install with [Bower] !: $ bower install typeahead.js

Other methods:

  • [Download zipball of latest release][zipball].
  • Download the latest dist files individually:
    • [bloodhound.js] (standalone suggestion engine)
    • [typeahead.jquery.js] (standalone UI view)
    • [typeahead.bundle.js] (bloodhound.js + typeahead.jquery.js)
    • [typeahead.bundle.min.js]

Note: both bloodhound.js and typeahead.jquery.js have a dependency on [jQuery] 1.9+.

[Bower] !: http://bower.io/ [zipball] !: http://twitter.github.com/typeahead.js/releases/latest/typeahead.js.zip [bloodhound.js] !: http://twitter.github.com/typeahead.js/releases/latest/bloodhound.js [typeahead.jquery.js] !: http://twitter.github.com/typeahead.js/releases/latest/typeahead.jquery.js [typeahead.bundle.js] !: http://twitter.github.com/typeahead.js/releases/latest/typeahead.bundle.js [typeahead.bundle.min.js] !: http://twitter.github.com/typeahead.js/releases/latest/typeahead.bundle.min.js [jQuery] !: http://jquery.com/

  • [Typeahead Docs]
  • [Bloodhound Docs]

[Typeahead Docs] !: https://github.com/twitter/typeahead.js/blob/master/doc/jquery_typeahead.md [Bloodhound Docs] !: https://github.com/twitter/typeahead.js/blob/master/doc/bloodhound.md

For some working examples of typeahead.js, visit the [examples page].

[examples page] !: http://twitter.github.io/typeahead.js/examples

  • Chrome
  • Firefox 3.5+
  • Safari 4+
  • Internet Explorer 8+
  • Opera 11+

NOTE: typeahead.js is not tested on mobile browsers.

For general questions about typeahead.js, tweet at [@typeahead].

For technical questions, you should post a question on [Stack Overflow] and tag it with [typeahead.js][so tag].

[Stack Overflow] !: http://stackoverflow.com/ [@typeahead] !: https://twitter.com/typeahead [so tag] !: http://stackoverflow.com/questions/tagged/typeahead.js

Discovered a bug? Please create an issue here on GitHub!

https://github.com/twitter/typeahead.js/issues

For transparency and insight into our release cycle, releases will be numbered with the following format:

<major>.<minor>.<patch>

And constructed with the following guidelines:

  • Breaking backwards compatibility bumps the major
  • New additions without breaking backwards compatibility bumps the minor
  • Bug fixes and misc changes bump the patch

For more information on semantic versioning, please visit http://semver.org/.

Tests are written using [Jasmine] and ran with [Karma]. To run the test suite with PhantomJS, run $ npm test.

[Jasmine] !: http://jasmine.github.io/ [Karma] !: http://karma-runner.github.io/

If you plan on contributing to typeahead.js, be sure to read the [contributing guidelines]. A good starting place for new contributors are issues labeled with [entry-level]. Entry-level issues tend to require minor changes and provide developers a chance to get more familiar with typeahead.js before taking on more challenging work.

In order to build and test typeahead.js, you’ll need to install its dev dependencies ($ npm install) and have [grunt-cli] installed ($ npm install -g grunt-cli). Below is an overview of the available Grunt tasks that’ll be useful in development.

  • grunt build – Builds typeahead.js from source.
  • grunt lint – Runs source and test files through JSHint.
  • grunt watch – Rebuilds typeahead.js whenever a source file is modified.
  • grunt server – Serves files from the root of typeahead.js on localhost:8888. Useful for using test/playground.html for debugging/testing.
  • grunt dev – Runs grunt watch and grunt server in parallel.

[contributing guidelines] !: https://github.com/twitter/typeahead.js/blob/master/CONTRIBUTING.md [entry-level] !: https://github.com/twitter/typeahead.js/issues?&labels=entry-level&state=open [grunt-cli] !: https://github.com/gruntjs/grunt-cli

Copyright 2013 Twitter, Inc.

Licensed under the MIT License