Indian Festivals

    Write a Name on a Happy Raksha Bandhan Photo So It Stays Readable

    Every name-on-photo generator ignores whether the result can actually be read. Contrast thresholds, cap height, where the name can sit without covering a face, Devanagari matras, the platform re-encode, and what you can still fix after sending.

    Suyash Agrahari· 9 min read
    SubhSandesh

    Make this into a page you can send

    Photos, a message, music and a ready-to-share link — in a couple of minutes.

    or browse all occasions

    Key takeaways

    • Text on a photo needs a contrast ratio of at least 4.5:1 against what sits behind it, or 3:1 once the name is set at 18 point or 14 point bold — white on marigold orange is nearer 2:1 and fails both.
    • Size the capitals at roughly 5% of the image height, about 60 px on a 1080x1350 export; ISO 15008 asks for character heights above 20 arcmin for glance reading.
    • Dark text on a light background beat light text on a dark one in a 2017 Applied Ergonomics experiment, and the penalty for light-on-dark was worst in a near-dark room.
    • 51.9% of shared SubhSandesh pages are opened on a phone (16,952 of 32,683 recorded views, measured 2026-08-18), so the name is read on a 7 cm screen rather than a laptop.
    • A misspelt name burned into a JPEG cannot be corrected, and 99.4% of started pages (2,701 of 2,718) go out exactly as typed.

    Write a Name on a Happy Raksha Bandhan Photo So It Stays Readable

    To write a name on a Happy Raksha Bandhan photo and have it actually get read: put the name in the largest empty region of the frame rather than across a face, set it dark on a light photo or light on a dark one at a contrast ratio of at least 4.5:1, and make the capitals roughly 5% of the image height. On SubhSandesh, 51.9% of shared pages are opened on a phone — 16,952 of 32,683 recorded views, measured 2026-08-18 — so the name is read on a screen about 7 cm wide, in a scrolling chat, in under two seconds. Across the 2,718 pages created since 2026-03-12, the recurring problem is never the wording; it is a name placed, coloured or sized so the eye cannot resolve it. Below: placement, contrast, size, Devanagari, spelling, low-resolution photos, and whether to burn the text in or keep it live.

    What writing a name onto a Raksha Bandhan photo actually means

    Two operations hide behind one phrase. Burning in rasterises the name into the JPEG's pixels — the letters become photograph, not text, and cannot be edited, selected or resized. Live text keeps the name as a character string in a layer or a web page, rendered fresh on each device.

    Every generator on this query does the first and calls it done. The W3C's contrast rule treats both identically — Success Criterion 1.4.3 covers "text and images of text" alike — but only live text can be fixed after sending.

    Four places the name can go without covering a face

    Text is harder to read when visual content is packed around it. In a 2018 Applied Ergonomics study of 37 readers aged 35–75, crowded displays needed much greater processing time than single words, and words at a randomised position were harder to read than the same words at a fixed, expected one. A festival photo is a crowded display: marigolds, thali, rakhi thread, two faces.

    1. The top band, above everyone's head

    Works when the photo was shot with headroom. Check the crop on a phone first: Instagram and WhatsApp previews trim a 4:5 image differently.

    2. The bottom third, over clothing

    The safest default. Kurta and saree fabric is large, low-detail and usually darker than skin, giving light text somewhere to sit. Avoid dupatta prints and sequins.

    3. A solid band you add yourself

    Draw an opaque strip across the bottom 18–22% of the frame and set the name on that. You lose a slice of photo and gain a guaranteed contrast ratio — the only method that works on any photo, unexamined.

    4. Beside the subjects, not on them

    If the pair stands to one side, the empty half takes a stacked two-line name. Keep it on the same side in every image you make, so a reader who gets three of them knows where to look.

    Text colour: what a marigold background does to a light name

    This is where most name-on-photo output fails. The W3C's Success Criterion 1.4.3 requires a contrast ratio of at least 4.5:1 between text and background, relaxed to 3:1 at 18 point or 14 point bold — roughly 24 px and 18.5 px. White text on marigold orange sits nearer 2:1 and fails both.

    Direction matters too. A 2017 Applied Ergonomics experiment found a positive polarity advantage — dark text on light beat light text on dark, with the penalty for light-on-dark worst in a near-0-lux room, exactly where a phone gets read at night. The authors' advice was blunt: use larger text sizes wherever possible, particularly light-on-dark.

    So: on a bright daytime rakhi photo use a deep maroon, near-black or dark green name, not white and not gold. On a dark or diya-lit photo use plain white, sized up. If the photo has both — a bright sari against a dark doorway — add the solid band and pick freely.

    Two things that look like fixes and are not: a thin outline, which the compression stage below thins further, and a low-opacity drop shadow, which raises contrast by well under a full ratio point.

    How big the name has to be to survive a phone screen and WhatsApp

    ISO 15008 recommends character heights above 20 arcmin for glance reading — the standard the MIT AgeLab work was calibrated against. At a 30 cm phone-viewing distance that is roughly 1.8 mm of cap height, about 5% of the image height. For a 1080×1350 export: cap height near 60 px, font size near 85 px. Most generators default to a third of that.

    Then the platform intervenes. Sent through the photo picker, an image is resized and re-encoded as JPEG, and hairline strokes are the first casualty. A 2021 study in Telematika found a PNG sent as a gallery image lost its transparency to a white background, while the same file sent as a document attachment came out with an unchanged MD5 hash — bit-for-bit identical, no re-encode.

    Hence one genuinely useful trick: when the name matters more than convenience, attach the image as a document rather than a photo. The recipient taps once more and gets the file you actually made.

    Names in Devanagari: why the script, not the length, breaks the text box

    A Devanagari name is not a longer Latin name. Microsoft's OpenType specification for the script documents that vowel signs are positioned by two separate features — abvm for above-base marks and blwm for below-base marks — so a cluster takes vertical space above the headline and below the baseline. A box sized to Latin capitals clips the matra off रीतू and the vowel sign off कृष्णा.

    Two more behaviours catch tools out. The shaping engine reorders matras, moving a pre-base vowel sign in front of the consonant it was typed after, so visual order is not typed order and character-count auto-fitting mispredicts the width. And the cjct feature substitutes conjuncts as single ligature glyphs, so द + halant + ग renders as one narrower, taller shape.

    Practical consequences: give a Devanagari name about 1.4× the line height you would give Latin, never apply all-caps styling (there is no case), and preview it in the real font — one missing cjct shows a halant where a conjunct belongs. Marathi adds the eyelash RA, encoded as RA + halant + ZWJ; if it renders as a plain reph, the font is wrong.

    Getting the spelling and the script right before anything is burned in

    Ask them to type their own name into the chat and paste it. Typing from memory is how Riddhi becomes Ridhi, and a burned-in JPEG cannot be corrected once it has been forwarded into a family group.

    There is no safety net further down the line. On SubhSandesh, 99.4% of started pages get published and shared — 2,701 of 2,718, measured 2026-08-18 — so whatever spelling is typed is the spelling that goes out.

    Pick one script per line and stay in it. Mixed "Happy Raksha Bandhan भाई" works as a deliberate bilingual line, but a half-transliterated name reads as a mistake rather than a style. If someone writes their own name in Devanagari, use that spelling even where a Latin transliteration looks tidier.

    Burned into the JPEG or live text: what you can still fix

    Both formats are legitimate; they fail in different places, and the difference is about what happens after you press send.

    Burned-in JPEGLive text on a shared page
    Fix a misspelt name after sendingImpossible — resend a new fileEdit the page; the same link updates
    Survives forwarding into a groupYes, forwards as an imageLink forwards; page must still be reachable
    Recipient needsNothingA working data connection
    Contrast after platform re-encodeDegrades; thin strokes softenRendered fresh at device resolution
    Access controlNone once forwardedPassword, used by 44.3% of 2,718 SubhSandesh creators

    A JPEG is the better artefact for reach; live text is the better one for accuracy. If the spelling is at all uncertain, that decides it.

    When the photo you have is too low-resolution to take text

    If the only photo is a 480-pixel-wide WhatsApp forward from three years ago, do not upscale it and set text over the result. Enlarging a small JPEG amplifies its blocking artefacts, and text laid on top inherits the mush.

    Three options instead. Place the photo small and un-enlarged inside a larger clean canvas and put the name on the canvas. Or crop tight to the faces, accept a square, and use the solid band so the name never touches degraded pixels. Or skip the composite: send the photo as-is and carry the name in text, rendered at the device's own resolution.

    What not to do is set 12-pixel text on a 480-pixel image because it looks fine zoomed in on a laptop. At the 51.9% mobile rate, that is not how it will be read.

    When a flat JPEG is the right answer, and when we are the wrong tool

    Burn the name in when the recipient is on a metered connection, when it is going to forty relatives who will not tap a link, or when the point is a WhatsApp status that must render without interaction. A page cannot match an image in a chat thread for effortlessness.

    SubhSandesh is the wrong tool in three cases. For a printable A4 card we output a web page, not a print file. If the recipient has no smartphone, a link is useless. And our only rakhi template, the Raksha Bandhan page for a brother, is written brother-first — for a sister you would be editing copy addressed to a brother, and the rest of the SubhSandesh template gallery covers birthdays, apologies and weddings.

    We also have no rakhi-specific usage data. Rakhi is not one of the 13 page types behind these numbers, so every first-party figure here describes personalised pages in general — accurate about how a named page gets opened, silent on rakhi.

    Sources

    #raksha bandhan#rakhi#photo editing#typography#personalisation

    Frequently Asked Questions

    In the largest empty region of the frame, never across a face. The bottom third over clothing is the safest default because fabric is large and low-detail; if nothing in the frame is empty, draw an opaque band across the bottom 18-22% and set the name on that.
    Dark on a light photo, light on a dark one, at a contrast ratio of at least 4.5:1 against whatever sits directly behind the letters. White or gold text on marigold orange lands nearer 2:1 and fails both the 4.5:1 minimum and the 3:1 large-text allowance.
    Aim for capitals around 5% of the image height, which is roughly a 60 px cap height and an 85 px font size on a 1080x1350 export. ISO 15008 recommends character heights above 20 arcmin for glance reading, about 1.8 mm at a 30 cm phone-viewing distance.
    Sent through the photo picker, the image is resized and re-encoded as JPEG, and hairline strokes and thin outlines are the first thing to soften. Attaching the file as a document instead skips the re-encode; one 2021 study found the MD5 hash unchanged when a file was sent that way.
    Not if the name was burned into the JPEG's pixels, because at that point the letters are photograph rather than text. Live text on a shared page can be edited and the same link updates for everyone who already has it.
    Devanagari positions vowel signs both above the headline and below the baseline, using two separate font features, so a cluster occupies more vertical space than Latin capitals of the same size. Give a Devanagari name about 1.4 times the line height you would give Latin.
    No — set it on two stacked lines at full size instead. Research on glance reading found that wider line spacing helps legibility but does not fully make up for text that has been shrunk, so shrinking is the worse trade.
    Do not upscale it and set text over the result, because enlarging a small JPEG amplifies its blocking artefacts. Place the photo small and un-enlarged inside a larger clean canvas and put the name on the canvas, or crop tight to the faces and use a solid band.
    An image wins on reach: it renders in the chat with no tap and needs no connection to open. A link wins on accuracy, because the name can still be corrected. If the spelling is at all uncertain, that decides it.
    Use whichever script the person writes their own name in, and ask them to type it into the chat so you can paste it. Keep one script per line — a half-transliterated name reads as a mistake rather than a bilingual style.
    No. Plenty of free generators will place text on a template for you. What none of them check is whether the result is legible, which is the placement, contrast and size work described above.
    One, and it is written brother-first: an animated page with tilak, aarti and rakhi-tying scenes, a photo, a name and a shareable link. For a sister you would be editing copy addressed to a brother, so say so honestly before you start.
    SubhSandesh

    Turn this inspiration into an unforgettable surprise

    Build a page with photos, a heartfelt message, music and a ready-to-share link.

    • Photos, message & music
    • Ready-to-share link
    See all occasions
    Suyash Agrahari

    Written by

    Suyash Agrahari

    Founder

    Suyash Agrahari is a Software Engineer at HireQuotient and the founder of SubhSandesh and DrawFlow (drawflow.in). He builds AI agents and full-stack products with Next.js, Node.js, and the OpenAI and LangChain ecosystems, having shipped autonomous multi-agent systems, AI copilots, and large-scale outreach platforms — and scaled side projects from a few hundred to millions of users. He writes about AI engineering, web development, and building products that grow through SEO and organic reach.

    Keep reading