# Tapirscan > Barcode scanning for browser, Node.js and native applications. Multiple symbols, original-image geometry, four effort modes; MIT OR Apache-2.0. Tapirscan supports linear and 2D barcode formats, with Retail enabled by default. See the format guide for variants and limitations. Turbo presets remain experimental. The demo next builds may be newer than the published packages. Consult the release page before selecting a version. ## Documentation - [Tapirscan documentation](https://tapirscan.f-kleinicke.de/docs/index.md): Use the Tapirscan barcode scanner in JavaScript, Python and native applications. - [Barcode formats and scanning effort](https://tapirscan.f-kleinicke.de/formats/index.md): Supported Tapirscan barcode formats, format presets, variant limitations and four effort modes. - [Tapirscan releases and demo builds](https://tapirscan.f-kleinicke.de/releases/index.md): Understand published Tapirscan packages and the scanner builds used by the interactive demo. - [Tapirscan license](https://tapirscan.f-kleinicke.de/license/index.md): Tapirscan is dual-licensed under MIT or Apache License 2.0, at your option. - [Tapirscan for JavaScript and TypeScript](https://tapirscan.f-kleinicke.de/docs/javascript/index.md): The JavaScript and TypeScript API guide for Tapirscan 1.3.0. - [Tapirscan for Python](https://tapirscan.f-kleinicke.de/docs/python/index.md): The Python API guide for Tapirscan 1.3.0. ## API reference - [JavaScript/TypeScript API](https://tapirscan.f-kleinicke.de/docs/javascript/api.md) - [Python API](https://tapirscan.f-kleinicke.de/docs/python/api.md) - [Source repository](https://github.com/kleinicke/tapirscan) - [npm package](https://www.npmjs.com/package/tapirscan) - [PyPI package](https://pypi.org/project/tapirscan/)