The definitive source of the best
JavaScript libraries, frameworks, and plugins.

  • ×


    A fast and fully-featured autocomplete library
    Filed under 

    • 🔾80%Overall
    • 16,522
    • 32.2 days
    • 🕩3297
    • 👥16

    build status Built with Grunt


    Inspired by'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.

    Getting Started

    How you acquire typeahead.js is up to you.

    Preferred method:

    • Install with Bower: $ bower install typeahead.js

    Other methods:

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



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

    Browser Support

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

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

    Customer Support

    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.


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


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


    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


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


    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.




    Copyright 2013 Twitter, Inc.

    Licensed under the MIT License

    Show All