---
layout: default-layout
title: What is the difference between BarcodeReader class and the BarcodeScanner class? Can they be used interchangeably?
keywords: Dynamsoft Barcode Reader, FAQ, tech basic, barcodeReader, barcodeScanner
description: What is the difference between BarcodeReader class and the BarcodeScanner class? Can they be used interchangeably?
needAutoGenerateSidebar: false
---

# What is the difference between the BarcodeReader class and the BarcodeScanner class? Can they be used interchangeably?

### **_NOTE:_** - This FAQ applies to Barcode Reader SDK version 9 or earlier. For the current version, please refer to our latest version introduction [here](https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/).

The two classes are not interchangeable, as each offers a different functionality than the other. The `BarcodeReader` class is used to decode static images (via one of the [decode\*](https://www.dynamsoft.com/barcode-reader/docs/v9/web/programming/javascript/api-reference/BarcodeReader.html#decode) methods) and does not have the ability to open the camera stream and decode barcodes directly from the video stream. 

The `BarcodeScanner` class on the other hand has the ability to decode barcodes directly from a video input, but it can also capture a still image using the camera when `singleFrameMode` is toggled.
