Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

expo-barcode-scanner

expo173.6kMIT13.0.1TypeScript support: included

Allows scanning variety of supported barcodes both as standalone module and as extension for expo-camera. It also allows scanning barcodes from existing images.

barcode, barcode-scanner, react-native, expo

readme

expo sdk

Expo

Expo SDK version Chat or ask a question License: MIT Downloads

Try Expo in the Browser  •  Read the Documentation  •  Learn more on our blog  •  Request a feature

Follow us on

Expo on X   Expo on GitHub   Expo on Reddit   Expo on LinkedIn   Expo on LinkedIn

Introduction

Expo is an open-source platform for making universal native apps that run on Android, iOS, and the web. It includes a universal runtime and libraries that let you build native apps by writing React and JavaScript.

This repository includes the Expo SDK, Modules API, Go app, CLI, Router, documentation, and various other supporting tools. Expo Application Services (EAS) is a platform of hosted services that are deeply integrated with Expo open source tools. EAS helps you build, ship, and iterate on your app as an individual or a team.

Read the Expo Community Guidelines before interacting in the repository. Thank you for helping keep the Expo community open and welcoming!

Table of contents

📚 Documentation

Learn about building and deploying universal apps in our official docs!

🗺 Project Layout

  • packages All the source code for Expo modules, if you want to edit a library or just see how it works this is where you'll find it.
  • apps This is where you can find Expo projects which are linked to the development modules. You'll do most of your testing in here.
  • apps/expo-go This is where you can find the source code for Expo Go.
  • apps/expo-go/ios/Exponent.xcworkspace is the Xcode workspace. When developing iOS, always open this instead of Exponent.xcodeproj because the workspace also loads the CocoaPods dependencies.
  • docs The source code for https://docs.expo.dev
  • templates The template projects you get when you run npx create-expo-app
  • react-native-lab This is our fork of react-native used to build Expo Go.
  • guides In-depth tutorials for advanced topics like contributing to the client.
  • tools contains build and configuration tools.
  • template-files contains templates for files that require private keys. They are populated using the keys in template-files/keys.json.
  • template-files/ios/dependencies.json specifies the CocoaPods dependencies of the app.

🏅 Badges

Let everyone know your app can be run instantly in the Expo Go app!

runs with Expo Go

runs with Expo Go

[![runs with Expo Go](https://img.shields.io/badge/Runs%20with%20Expo%20Go-000.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](https://expo.dev/client)

[![runs with Expo Go](https://img.shields.io/badge/Runs%20with%20Expo%20Go-4630EB.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](https://expo.dev/client)

👏 Contributing

If you like Expo and want to help make it better then check out our contributing guide! Check out the CLI package to work on the Expo CLI.

❓ FAQ

If you have questions about Expo and want answers, then check out our Frequently Asked Questions!

If you still have questions you can ask them on our Discord and Forums or on Twitter @Expo.

💙 The Team

Curious about who makes Expo? Here are our team members!

License

The Expo source code is made available under the MIT license. Some of the dependencies are licensed differently, with the BSD license, for example.

Star the Expo repo on GitHub to support the project

changelog

Changelog

Unpublished

🛠 Breaking changes

🎉 New features

🐛 Bug fixes

💡 Others

13.0.1 — 2024-04-23

This version does not introduce any user-facing changes.

13.0.0 — 2024-04-18

💡 Others

  • Prevent config plugin from writing permissions until prebuild. (#28107 by @EvanBacon)
  • drop unused web name property. (#27437 by @EvanBacon)
  • Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)

12.9.3 - 2024-02-16

🎉 New features

  • BarCodeScannerResult now returns an additional raw field corresponding to the barcode value as it was encoded in the barcode without parsing. Will always be undefined on iOS. (#25391 by @ajacquierbret)

12.9.2 - 2023-12-21

💡 Others

12.9.1 - 2023-12-19

🛠 Breaking changes

  • expo-barcode-scanner is now deprecated. Please use expo-camera instead. (#26025 by @alanjhughes)

12.9.0 — 2023-11-14

🛠 Breaking changes

12.8.0 — 2023-10-17

🛠 Breaking changes

🐛 Bug fixes

  • On Android, use rawValue in the case of scanning a contact card to return complete information. (#24791 by @alanhughes)
  • On iOS, correctly handle when unsupported barcode types are passed to the barCodeTypes prop. (#24784 by @alanhughes)

💡 Others

  • Ship untranspiled JSX to support custom handling of jsx and createElement. (#24889 by @EvanBacon)

12.7.0 — 2023-09-04

🎉 New features

  • Added support for React Native 0.73. (#24018 by @kudo)

12.6.1 — 2023-08-02

This version does not introduce any user-facing changes.

12.6.0 — 2023-07-28

This version does not introduce any user-facing changes.

12.5.3 - 2023-06-30

💡 Others

12.5.2 — 2023-06-28

This version does not introduce any user-facing changes.

12.5.1 — 2023-06-27

🐛 Bug fixes

  • On Android, fixed an issue where certain text characters would not be recognised. (#23094 by @alanhughes)

12.5.0 — 2023-06-13

🐛 Bug fixes

💡 Others

12.4.0 — 2023-05-08

This version does not introduce any user-facing changes.

12.3.2 - 2023-03-03

🐛 Bug fixes

  • Fixed Android property name of BarCodeScannedEvent from boundingBox to bounds to match TypeScript definitions (#21384 by @frw)

12.3.1 — 2023-02-09

This version does not introduce any user-facing changes.

12.3.0 — 2023-02-03

💡 Others

  • On Android bump compileSdkVersion and targetSdkVersion to 33. (#20721 by @lukmccall)

12.2.0 — 2022-12-30

🎉 New features

  • Native module for barcode scanner view is now written in Swift and Kotlin using the new API. (#20441 and (#20668 by @alanhughes)

12.1.0 - 2022-11-23

🐛 Bug fixes

  • Fix import issue on case-sensitive file systems (#20141 by @hirbod)

12.0.0 — 2022-10-25

🛠 Breaking changes

  • Remove the manual re-export of usePermissions hook at package top level. (#18630 by @Simek)
  • Bumped iOS deployment target to 13.0 and deprecated support for iOS 12. (#18873 by @tsapeta)
  • Made cornerPoints and bounds not optional in the BarCodeScannerResult. (#19519 by @lukmccall)

🐛 Bug fixes

💡 Others

  • [plugin] Migrate import from @expo/config-plugins to expo/config-plugins and @expo/config-types to expo/config. (#18855 by @brentvatne)
  • Drop @expo/config-plugins dependency in favor of peer dependency on expo. (#18595 by @EvanBacon)

11.4.0 — 2022-07-07

This version does not introduce any user-facing changes.

11.3.0 — 2022-04-18

🎉 New features

  • On iOS 15.4+ added support for Codabar barcode type. (#16703 by @7nohe)

💡 Others

⚠️ Notices

  • On Android bump compileSdkVersion to 31, targetSdkVersion to 31 and Java version to 11. (#16941 by @bbarthec)

11.2.1 - 2022-02-01

🐛 Bug fixes

  • Fix Plugin with id 'maven' not found build error from Android Gradle 7. (#16080 by @kudo)

11.2.0 — 2021-12-03

🐛 Bug fixes

  • Fixed BarCodeScanner only scans on the first mount on Android. (#15393 by @lukmccall)
  • Fixed crashes caused by the Zxing scanner on Android. (#15394 by @lukmccall)

11.1.0 — 2021-10-01

🐛 Bug fixes

11.0.0 — 2021-09-28

🛠 Breaking changes

🎉 New features

  • Add BarCodeScanner.usePermissions hook from modules factory. (#13852 by @bycedric)

🐛 Bug fixes

  • Fix building errors from use_frameworks! in Podfile. (#14523 by @kudo)

💡 Others

10.2.0 — 2021-06-16

🐛 Bug fixes

  • Enable kotlin in all modules. (#12716 by @wschurman)
  • On iOS removed the requirement for the presence of NSMicrophoneUsageDescription key in Info.plist (#12860 by @ajsmth)

💡 Others

  • Migrated interfaces from their own packages to expo-modules-core. (#12912 by @tsapeta)

10.1.2 — 2021-04-13

This version does not introduce any user-facing changes.

10.1.1 — 2021-03-31

This version does not introduce any user-facing changes.

10.1.0 — 2021-03-10

🎉 New features

🐛 Bug fixes

  • Remove peerDependencies and unimodulePeerDependencies from Expo modules. (#11980 by @brentvatne)

10.0.0 — 2021-01-15

⚠️ Notices

🛠 Breaking changes

🎉 New features

9.1.0 — 2020-11-17

🐛 Bug fixes

9.0.0 — 2020-08-18

🛠 Breaking changes

  • Added camera permissions declarations to AndroidManifest.xml on Android. (#9227 by @bycedric)

🎉 New features

🐛 Bug fixes

  • Fixed scanner throwing NullPointerException when barcode type isn't recognized on Android. (#9006 by @lukmccall)

8.2.1 — 2020-05-29

This version does not introduce any user-facing changes.

8.2.0 — 2020-05-27

This version does not introduce any user-facing changes.