ScreenshotNeo

BlogHow-to

SingleFile Not Saving Hindi Text Correctly: Font and Encoding Fixes

Diagnose Hindi text that changes in a SingleFile capture. Check Unicode, font settings, browser rendering, and the saved file in a systematic order.

By the ScreenshotNeo team4 October 20267 min read

If Hindi looks different in a SingleFile copy, first compare it with the live page. A font change will not repair malformed Unicode, and an encoding change will not fix missing glyphs or a browser’s shaping limitation. Check the original, then the saved HTML, and change one SingleFile font option at a time.

The likely cause depends on what “wrong” looks like: empty boxes point toward font coverage; recognizable but badly joined or positioned Devanagari can involve shaping or character sequences; text that is already wrong on the source page was not broken by SingleFile. These are clues, not a diagnosis. The browser, operating system, source URL, and a comparison of the original and saved result matter.

1. Compare the live page and the saved copy

  1. Open the source page in the same browser and note whether the Hindi is correct.
  2. Save the page with SingleFile and open the resulting HTML in that browser.
  3. Open the saved file in another browser or on another system if available.
  4. Record whether the issue affects all Hindi text or only particular words, and whether the characters are missing, substituted, or shaped differently.
What you see What it may indicate Next check
The live page is already wrong Source text, page CSS, web font, or source rendering problem Contact the page author; compare the page in another browser
Empty squares or missing glyphs in the saved copy The active font may not contain the needed glyphs, or the saved copy may not retain the font it needs Test SingleFile’s font-removal options and another browser
Characters appear but join or position incorrectly Possible shaping limitation or unexpected Unicode sequence Compare the source and saved output; ask the content author to inspect the text sequence
The file works in one browser but not another Different font availability, shaping support, or browser behavior Check the browser and system where the file fails

The Unicode Consortium describes incorrect encoding or text sequences, software shaping limitations, and font limitations as distinct possible causes. Devanagari letters should use their prescribed Unicode characters: for example, U+0906 “आ” is not equivalent to U+0905 “अ” followed by U+093E “ा”. A font cannot correct a malformed sequence. See the Unicode display guidance.

2. Check SingleFile’s font options

SingleFile has options related to fonts, including removing unused fonts and alternative fonts. If the live page is correct but the saved page is not, test these settings before changing system fonts or installing a new font.

  1. Open SingleFile’s options or the save dialog settings for the capture.
  2. Find the font-related options described in the SingleFile help, including options that remove unused or alternative fonts.
  3. Change one font-related setting, save the page again, and compare the result.
  4. If the change makes no difference, restore it and test the next relevant option. Keep a note of the setting for each copy.

SingleFile’s release history records fixes involving font selection and removal, so capture behavior is a reasonable possibility to investigate. That history does not establish that every Hindi rendering issue has the same cause. Check the SingleFile Firefox add-on release history if you suspect a version-specific issue, and update through the extension’s normal browser store.

3. Distinguish font coverage, shaping, and Unicode

Missing glyphs

Empty boxes or visibly missing characters can mean the font used by the saved page lacks those glyphs. A web font may have loaded on the original page but not been retained or selected as expected in the saved copy. Test SingleFile’s font options and compare the file in a browser with Devanagari font support. Do not assume a particular font family is required; the right choice depends on the page and system.

Incorrect joining or placement

Devanagari rendering depends on software that shapes characters as well as on the font. If characters are present but combine or position incorrectly, try another browser or system. If the same word is wrong on the source page, ask its author to inspect the underlying Unicode sequence and web-font implementation.

Encoding and character sequences

Do not treat every visual issue as an encoding problem. Compare the actual source and saved display first. Unicode specifically warns that a visually unexpected result can arise from the sequence used to represent text, from shaping software, or from the font. Correcting one category will not necessarily address another.

SingleFile’s help also describes a format-specific detail for “self-extracting ZIP (universal)”: inserted searchable text is UTF-8 while the page is declared ISO-8859-1. This is specific to that output mode; do not apply it as a general explanation for ordinary SingleFile HTML captures.

4. Isolate browser, extension, and configuration conflicts

If the source renders correctly and font-option changes do not resolve the saved copy, use SingleFile’s general troubleshooting sequence:

  1. Save the page in a private or incognito window.
  2. Reset SingleFile’s options and reproduce the save.
  3. Restart the browser and try again.
  4. Disable other extensions temporarily to check for a conflict.
  5. Compare the result in another browser or system if one is available.

These steps are the project’s documented general troubleshooting guidance, not Hindi-specific fixes. See the SingleFile README. Change one variable at a time so you can tell which step affects the result.

5. Report a reproducible issue or contact the page author

If the original page is wrong, the site author controls its text and web-font implementation. If only the saved file is wrong after the checks above, report a reproducible case to SingleFile through its project issue process. Include:

  • Source URL, if it can be shared
  • Browser name and version, operating system, and SingleFile version
  • Whether the live source or only the saved copy is affected
  • Which font-related options you changed and the result of each test
  • Whether the problem follows the HTML file into another browser or system
  • A screenshot or small reproducible example, taking care not to disclose private page content

Without the source URL and environment details, it is not possible to identify one universal cause or setting for an individual incident.

6. Preserve the evidence while troubleshooting

Keep the original saved HTML and make a fresh copy for each configuration test. That gives you a reliable before-and-after comparison and avoids confusing a change in the source page with a change in capture settings. If the page is dynamic, note the time and state in which you saved it, since the live content or loaded fonts may change between captures.

For an archive where exact visual fidelity matters, inspect the saved file in the browser and system that will be used to view it. A file that looks correct on the machine that created it may still depend on browser shaping support or fonts available only on that system.

7. Troubleshooting quick reference

Problem Likely area to investigate Practical fix
Hindi is wrong on both the source and saved page Source text, font, or page rendering Try another browser; contact the site author with an example
Only the saved copy is wrong Capture settings or saved styles/fonts Test SingleFile font options one at a time
Some letters are absent Font coverage or font selection Check whether the saved page retains or selects a suitable font
Letters are visible but shaped oddly Shaping behavior or character sequence Compare browsers and ask the author to verify the Unicode sequence
Changing a font does not help The cause may be encoding, shaping, or a capture setting Return to the source-versus-copy comparison; do not keep changing fonts blindly
Behavior changes with extensions disabled Extension conflict or browser state Re-enable extensions selectively to identify the conflict
Only self-extracting ZIP searchable text seems affected Format-specific encoding declaration Check the relevant SingleFile help note; do not generalize it to normal HTML saves

Or skip the browser setup

For a shareable screenshot of the page, ScreenshotNeo provides a website screenshot API and MCP server. It captures an image or PDF; it does not diagnose or repair Unicode in a SingleFile archive.

One GET request returns a screenshot. See the ScreenshotNeo API documentation for options.

cURL

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Python

import requests

r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
    timeout=90,
)
open("shot.webp", "wb").write(r.content)

Node.js

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
const bytes = Buffer.from(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', bytes));

ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before the shot. Bot checks, blank pages, and failed loads are never billed. Its MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Sign up for 1,000 free screenshots a month, no card required.

Performance, reliability, and cost notes

  • SingleFile: The checks above add repeated saves, but changing one setting at a time makes the cause easier to isolate. Keep the original capture so you can compare it with each new result.
  • Fonts and portability: A saved HTML file can render differently across browsers or systems when font availability or shaping support differs. Test in the target viewing environment when portability matters.
  • ScreenshotNeo: The service bills only clean shots; bot checks, CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing. Responses identify the page verdict and billing state in headers. Pricing is Free for 1,000 shots/month, Starter $5 for 3,000, Growth $15 for 15,000, Pro $39 for 60,000, Scale $99 for 250,000, and Business $249 for 1,000,000. Yearly billing gives two months free, and every feature is on every plan.

FAQ

Does changing the page encoding always fix Hindi?

No. Font coverage, shaping, and the Unicode sequence itself are separate possible causes. Compare the live page and saved copy before changing encoding-related settings.

Should I install a Hindi font?

Only if evidence points to missing font coverage. A new font cannot repair malformed text sequences or a shaping limitation, and the needed font depends on the page and environment.

Does the SingleFile ZIP encoding note apply to every saved HTML file?

No. The UTF-8 searchable text and ISO-8859-1 declaration detail in SingleFile help is for the “self-extracting ZIP (universal)” format.

Can ScreenshotNeo make a SingleFile archive render correctly?

No. It captures a website as an image or PDF; it does not fix the Unicode, font, or shaping behavior inside a saved HTML archive.