Categories About Us Contact Us Become a Member

How to fix a contact QR code that scans as raw text instead of a contact

When a contact QR scans as plain text instead of offering Add Contact, the data inside the QR is not valid vCard or MECARD. The phone only offers to save a contact when the format is correct. Jump to your situation below or work through the methods in order.

By Neeraj Singh ~6 min Updated Jun 2026 90% found this helpful
Error message
The QR code scans as plain text and the phone does not prompt to save a contact.
Summary

A phone camera offers to save a contact only when a QR code contains a properly formatted vCard or MECARD payload. When it scans as plain text instead, the data inside is not valid contact data: it might be missing the BEGIN:VCARD and END:VCARD wrapper, use the wrong line endings, have invalid field syntax, or simply be plain text that a generator encoded by mistake. A QR that is too dense, because too much data was crammed in, can also fail to scan cleanly. The fix is to generate the QR from a correct vCard or MECARD string, keep the payload short with just the essential fields, use proper line endings, and test the scan on both iOS and Android. MECARD is often recognised more reliably by phone cameras than full vCard.

What this error means

A QR code is just a container for text. Phone cameras look at that text and, if it matches a known contact format, offer to add a contact. The two formats they recognise are vCard (the same BEGIN:VCARD structure as a .vcf file) and MECARD (a compact single-line contact string).

If the text is anything else, even contact details written as plain words, the camera just shows it as text with no Add Contact option. So the problem is almost always how the QR was generated: the wrong format, a broken vCard structure, or so much data that the code will not scan reliably.

Common causes

The QR encodes plain text, not a vCard or MECARD payload.
The vCard is missing its BEGIN:VCARD or END:VCARD wrapper.
The vCard uses the wrong line endings instead of CRLF.
A field uses invalid syntax the parser does not accept.
Too much data was crammed in, so the QR is too dense to scan.
The generator added a label or URL instead of contact data.
The scanner app does not recognise the format used.
Expert insight

“The camera is binary about this: give it a real vCard or MECARD and it offers Add Contact, give it anything else and it just shows text. The usual mistake is using a plain-text QR generator and typing the details in, which encodes words, not a contact. The second mistake is cramming a photo or a paragraph of notes in until the QR is so dense it will not scan. Keep it to a name, a phone and an email, use a proper contact-QR generator, and if vCard is being fussy, MECARD scans more reliably on most phones.”

How to fix it

Method 1

Use a valid vCard or MECARD payload

1A vCard QR must contain a complete record, for example:
BEGIN:VCARD
VERSION:3.0
N:Singh;Neeraj;;;
FN:Neeraj Singh
TEL:+10000000000
EMAIL:name@example.com
END:VCARD
2A MECARD alternative is a single line:
MECARD:N:Singh,Neeraj;TEL:+10000000000;EMAIL:name@example.com;;
3Encode one of these, not free text.
Method 2

Use a dedicated contact-QR generator

1Use a generator that explicitly creates a vCard or MECARD QR, not a plain-text or URL one.
2Choose the contact or vCard option and fill in the fields.
3Avoid generators that wrap the data in a tracking URL unless you want a landing page.
Method 3

Keep the payload short

1Include only the essentials, name, phone and email, so the QR stays low-density and scannable.
2Do not embed a photo or long notes, which make the code too dense.
3A smaller payload also scans faster and from further away.
Method 4

Use correct line endings

1Inside a vCard, lines should end with CRLF, not a bare line feed.
2A generator that uses the wrong line breaks can produce a vCard phones will not parse.
3If you build the string yourself, set CRLF between properties.
Method 5

Try MECARD if vCard fails

1MECARD is a compact, single-line contact format that many phone cameras recognise more reliably than vCard.
2Switch the generator to MECARD and re-test.
3It carries the core fields a contact needs.
Method 6

Test the scan on both platforms

1Scan the finished QR with both an iPhone and an Android camera.
2Confirm each offers an Add Contact prompt rather than showing text.
3Test in good light and at a sensible size, especially for print.

Phones only offer Add Contact for a real vCard or MECARD payload, so the fix is almost always to use a proper contact-QR generator rather than a plain-text one. Keep the data minimal, name, phone and email, so the code is not too dense to scan. If vCard will not behave, MECARD is recognised more reliably across phone cameras.

Frequently asked questions

Why does my contact QR code scan as text?
Because the data inside is not a valid vCard or MECARD payload. Phone cameras only offer to save a contact when the QR contains correctly formatted contact data.
What format should a contact QR use?
Either a full vCard (BEGIN:VCARD ... END:VCARD) or a compact MECARD string. Encode one of those, not plain text or a list of details written as words.
Why won't my QR scan at all?
It is probably too dense because too much data, such as a photo or long notes, was crammed in. Keep the payload to name, phone and email so the code stays scannable.
Is MECARD better than vCard for QR codes?
Often, yes. MECARD is a compact single-line format that many phone cameras recognise more reliably than a full vCard, so it is a good fallback.
Which generator should I use?
One that explicitly creates a vCard or MECARD contact QR. Avoid plain-text or URL generators, which encode words or a link rather than contact data.
How do I test the QR works?
Scan it with both an iPhone and an Android camera and confirm each shows an Add Contact prompt. Test in good light and at the size you will actually use.

Still not working?

If a correctly generated vCard or MECARD QR still scans as text, the scanner app may be the limitation, so test with the built-in camera app rather than a third-party scanner. If you are printing the code, increase its size and error-correction level so it scans reliably. You can also submit your error to us for a tailored fix.

Was this fix helpful? Thanks for your feedback!