MDF | Yellow Dots Decoder

Decode Machine Identification Codes (MIC) from yellow microdot patterns — entirely in your browser

Click cells on the interactive 15×8 grid to mark yellow dots from a color laser print. Decode the printer serial number, print date, and time using the EFF Xerox DocuColor scheme. Row and column parity are verified automatically.

Privacy note: Decoding runs entirely in your browser. No data is uploaded or stored. This tool interprets patterns based on publicly documented research; results may vary by printer model.

Interactive dot pattern grid

Mark each yellow dot you observe on a printed page. The top row and left column are parity bits. Data rows are labeled with their bit weights (64 down to 1). Columns are numbered 1–15 left to right.

Yellow dot present No dot

Decoded information

Printer serial (6-digit)
Printer serial (8-digit)
Print date
Print time
Column 15 value

What are printer tracking dots (MIC)?

Many color laser printers embed nearly invisible Machine Identification Codes (MIC) — also called forensic dots or tracking dots — on every page they print. These codes consist of tiny yellow microdots arranged in a repeating grid pattern across the page. Research by the Electronic Frontier Foundation (EFF) demonstrated that Xerox DocuColor printers encode the printer serial number, date, and time of printing in these dots.

The dots are yellow (barely visible on white paper), less than one millimeter in diameter, and repeated across the entire page with slight offsets between repetitions. Similar tracking mechanisms have been reported in printers from Canon, HP, and other manufacturers, though encoding schemes differ by brand and model.

How to find yellow dots on a printout

  1. Blue light method: Shine a blue LED flashlight or UV light on the page at a shallow angle. Yellow dots reflect blue light and become visible as bright spots.
  2. Magnifying glass: Use a 10× or higher magnifier under bright, indirect light. Look for a rectangular grid of tiny dots, typically repeated across the page.
  3. High-resolution scan: Scan the page at 600 DPI or higher on a flatbed scanner. Open the scan in an image editor and boost the blue channel or invert/adjust yellow tones to reveal the dot grid.
  4. Transfer to this tool: Once you identify one complete 15×8 grid, click the corresponding cells above to mark each dot, then press Decode pattern.

How the DocuColor 15×8 grid is read

The Xerox DocuColor scheme uses a rectangular grid of 15 columns × 8 rows. The top row and leftmost column serve as parity bits for error detection — every data row and column must contain an odd number of dots. Each data column (2–15) encodes one 7-bit byte, read bottom-to-top (row weights: 1, 2, 4, 8, 16, 32, 64).

DocuColor column field mapping
Column Field
1Row parity
2Minute
5Hour
6Day
7Month
8Year (last two digits)
10Separator
11–14Printer serial number (BCD pairs)
15Configuration / unknown

The printer serial number is encoded as binary-coded decimal (BCD) across columns 11–14, two digits per column. For example, serial 00654321 is stored as columns 14=00, 13=65, 12=43, 11=21.

Privacy implications

Because tracking dots can link a printed document to a specific printer and timestamp, they raise significant privacy concerns. A whistleblower, journalist, or activist printing sensitive material may unknowingly leave a forensic trail on every page. The U.S. Secret Service acknowledged agreements with printer manufacturers to include such codes, ostensibly to combat counterfeiting.

Understanding how these codes work is the first step toward informed decisions about document security. This decoder is provided for educational and research purposes, based on the EFF's publicly released reverse-engineering work.

Frequently asked questions

Yellow printer tracking dots (Machine Identification Codes) are nearly invisible microdots that some color laser printers embed on every page. They can encode the printer serial number and the date and time the document was printed.

Use a blue LED light, a 10× magnifying glass, or a high-resolution flatbed scan (600 DPI+). On a digital scan, enhance the blue channel or adjust yellow tones in an image editor to make the dot grid visible.

This tool implements the Xerox DocuColor 15×8 scheme documented by the EFF. HP, Canon, Brother, and other brands may use different patterns. If your printer is not a DocuColor model, results from this decoder may not apply.

No. All decoding happens locally in your browser. No dot patterns, images, or results are uploaded, stored, or transmitted to any server.