Bottoms Up!

Recent ResultsClear All
Mode Individual tubes
Select a camera and press start
or upload images

Loading detection model…

Ready

Settings

Tube barcodes must match this pattern
Live Scan
Barcode must be seen in this many frames to be confirmed
Scanning stops automatically after this many seconds (0 = no limit)
Rack / Grid
Rack barcode must match this pattern
Scanning stops when this many barcodes are confirmed (0 = no auto-stop)
Advanced
Don't auto-stop until a rack barcode is detected
Higher resolution improves decode quality but uses more memory
Share crash reports and usage data to help improve the app

Help

What is Bottoms Up?

Bottoms Up is a free, browser-based barcode scanner for lab tubes with Data Matrix 2D barcodes. It takes advantage of the incredible cameras on current iPhones and Android devices to read barcodes from individual tubes or entire 48-position racks — no app install required. You can also drag and drop images to decode barcodes without a live camera.

Individual Tubes Mode

Scan one or more tubes at a time without rack position tracking. Point your camera at the bottom of a tube (or several), or drag and drop a photo. Each decoded barcode is added to your results list.

Rack Mode

Place a 48-position rack upside down under the camera. The scanner will detect and decode all tube barcodes in the rack. If a rack barcode on the side of the rack is also captured for a known rack manufacturer, each tube is mapped to its grid position (A1–F8). Rack mode works best with full racks. For partial racks, orient them so the tubes are concentrated in the top-left corner of the frame for the best results.

Need support for a different rack type? Let us know.

Camera Tips

  • Lighting. Avoid glare and shadows on the tube bottoms — angled or diffused lighting works best.
  • Hold steady. Keep the camera stable and close enough that individual barcodes are clearly visible.
  • Flat surface. For racks, place them on a flat, non-reflective surface for the most consistent results.

History

All scan results are saved locally in your browser. Use the history button in the top right to access previous scans, copy results to the clipboard, or download as CSV.

Settings

Each option is described in the settings panel. A few highlights:

  • Barcode Regex — By default, Bottoms Up will only decode known barcode patterns. Clear the field to accept anything. If you need help writing a regex, try pasting a few example barcodes into ChatGPT or Claude and asking for a matching pattern.
  • Camera Resolution — Higher resolution improves decode quality but uses more memory. If the app is slow or crashes on mobile, try a lower setting. All camera resolutions should work well on a recent-series iPhone Pro.