Guides

Zebra DataWedge setup: scan into any app on TC22, TC27, MC3400

DataWedge is the Zebra service that controls the built-in scanner and passes the scanned data to your apps. With the right profile it types each barcode into any app, as if someone had entered it on the keyboard, so your app needs no programming for scanning. This guide works on the TC22, TC27 and MC3400.

You'll need
  • A Zebra TC22, TC27 or MC3400
  • The app you want to scan into, installed on the device
  • A few test barcodes, ideally from your real labels

Before you start

How DataWedge works

DataWedge is preinstalled on every Zebra Android device. It uses profiles: each profile defines the scanner input, how the data is formatted and how it is delivered. You link a profile to one or more apps, and each app can belong to only one profile.

  • Profile0 is the default profile. It applies to every app that has no profile of its own and cannot be linked to an app.
  • Launcher is used on the home screen.
  • Output is Keystroke (typed into the active field), Intent (for apps written for DataWedge) or Internet Protocol (sent over the network).

Check your DataWedge version

Open the DataWedge app, tap the three-dot menu icon and tap About. Menu names in this guide follow DataWedge 15.0, which is included, for example, in Zebra's May 2025 Android 14 update for the TC22 and TC27. Devices on an older version can show slightly different labels.

Which button scans

Device Scan with
TC22, TC27 Either of the two dedicated Scan buttons
MC3400 gun The Trigger or the Scan button
MC3400 straight shooter The Scan key on the keypad or the side scan keys

Test the scanner with DWDemo

  1. Open DWDemo from the app drawer.
  2. Point the scanner at a barcode and press the scan button, or tap the scan button on the screen.
  3. The decoded data appears in the app window, and the Data Capture LED and a beep confirm the read.

If nothing happens, open the DWDemo menu, tap Settings and check that Profile enabled is ticked.

Note

DWDemo uses its own DWDemo profile and receives the data by intent. A good scan in DWDemo proves that the scanner works, not that your app is set up. Your app needs its own profile with Keystroke output.

Create a profile and link it to your app

  1. Open the DataWedge app. If it opens on another screen, press Back until you see the Profiles list.
  2. Tap the menu icon and choose New profile.
  3. Enter a short, unique name without special characters, for example Warehouse, and tap OK.
  4. Tap the new profile and check that Profile enabled is ticked.
  5. Tap Associated apps, open the menu and choose New app/activity.
  6. Select your app. Tap the asterisk * to use the profile for every screen of the app, or tap one activity to limit it to that screen.
  7. Press Back to return to the profile.

Making a new profile is safer than changing Profile0, because Profile0 also affects every other app without a profile.

Video: Zebra Technologies

Send the data as keystrokes

  1. In the profile, check that Barcode input is enabled.
  2. Scroll to Keystroke output and tick Enabled.
  3. Leave Intent output off unless your app's supplier tells you to use it.
  4. Open your app, tap the input field and scan. The barcode appears in the field.

If characters go missing or arrive in the wrong order, raise the Inter-character delay in Keystroke output in steps of 100 ms, up to 1000 ms. Zebra notes that a delay can affect app performance, so keep it as low as possible. During a scan the on-screen keyboard can disappear briefly, because DataWedge uses its own keyboard to send the data.

Add Enter or Tab after each scan

Many apps need Enter to confirm a scan, or Tab to jump to the next field. You set this with Basic data formatting, which sits with the output settings in the profile.

  1. In the profile, under Keystroke output, tap Basic data formatting and tick Enable at the top of the screen.
  2. Tick Send ENTER key to add Enter after each barcode, or Send TAB key to add Tab.
  3. Keep Send data ticked. It is on by default and sends the barcode itself.
  4. Optional: enter characters in Prefix to data or Suffix to data to add text before or after every barcode.
  5. Scan into your app to test.
Tip

Use only one Enter. If your app already confirms on its own, or an Advanced data formatting rule also adds Enter, every scan is confirmed twice. If your app ignores the Enter key, try Send Enter as string under Key event options in Keystroke output.

Turn barcode types on or off

  1. In the profile, under Barcode input, tap Configure scanner settings.
  2. Tap Decoders.
  3. Tick the barcode types you use and untick the ones you don't.

QR Code, Data Matrix, Code 128, EAN-13 and UPC-A are on by default. Interleaved 2 of 5, Micro QR and DotCode are off by default, so switch them on if your labels use them. Zebra recommends switching off every decoder your app doesn't need, because fewer decoders can improve scanning performance.

Common mistakes

  • DataWedge switched off: on the Profiles screen, open the menu, then Settings, and check DataWedge enabled.
  • Profile not enabled: a new profile does nothing until Profile enabled is ticked.
  • App linked to the wrong profile: an app can belong to only one profile, so check Associated apps in each profile.
  • Profile0 disabled: apps without their own profile then cannot scan at all. This can be deliberate on managed devices.
  • Barcode type off: a missing decoder looks like a broken scanner. Check the Decoders list.
  • Restore pressed by mistake: Restore in DataWedge Settings returns DataWedge to factory defaults and cannot be undone. Export your settings first.

To copy a finished setup to more devices, use Export Profile in DataWedge Settings and Import Profile on the next device. For the device side, see the TC22/TC27 setup guide, the MC3400 setup guide or TC22/TC27 troubleshooting. Full option lists are in Zebra's DataWedge documentation.

Frequently asked questions

How do I add an Enter after every scan on a Zebra device?

In DataWedge, open the profile for your app, tap Basic data formatting under Keystroke output, tick Enable and tick Send ENTER key.

Why does my Zebra scanner work in DWDemo but not in my app?

DWDemo has its own profile. Your app uses Profile0 or its own profile, which may be disabled, linked to another app or set to Intent output instead of Keystroke output.

How do I enable QR codes in DataWedge?

Open the profile, tap Configure scanner settings, then Decoders, and tick QR Code. It is on by default.

How do I turn DataWedge off?

Open DataWedge, tap the menu, then Settings, and untick DataWedge enabled. Only do this if another app controls the scanner, because Zebra warns that other ways of disabling DataWedge can cause unexpected behaviour.

Is DataWedge free?

Yes, DataWedge is preinstalled on every Zebra Android device. Some advanced features, such as multi-barcode capture on Professional-series devices like the TC22 and TC27, need a Mobility DNA Enterprise License.