LumiCode
the photo stays a photo — the data hides in its grain

Source picture

Choose a photo or drop it here JPG or PNG · portraits and high-contrast images carry the most
Weave grid

Capacity & preview

Load a picture to see how much it can hold.

Read a code

Drop a code image — a downloaded PNG, a screenshot, or a photo you took of one. The reader tries the exact grid first, then searches for the code inside a photograph. All three encoders read here.

Choose an image or drop it here PNG reads perfectly · a photo of a code is searched for and rectified as best we can
decoded

Scan with your camera

Point your camera at a code and fill most of the frame. The scanner reads continuously — no countdown, no button: the moment a frame decodes, it locks. Watch the status line; it tells you how many corners it can see.

snap a photo with your camera app · upload an image
decoded
On a phone, the camera-app photo option is the most reliable — it uses the OS camera's stabilisation and autofocus. If a capture won't read: add light, get closer so the code fills the frame, avoid glare, and keep within ~20° of upright. The status line tells you whether it even found the four corners.