Help Centre

Everything you need to use Charsetlint — from your first diagnosis to understanding what the results mean.

01 / GETTING STARTED

How to diagnose a URL in about ten seconds.

Charsetlint is a single-URL diagnostic. There is no account, no sign-up, and no API key. You do not need to install anything.

Steps:
1. Go to the App page.
2. Paste a public URL (e.g. https://example.com/page).
3. Click Check (or press Enter).
4. Read the result — three bands (HTTP header, BOM, meta tag), a verdict, and a mojibake alert if applicable.

The verdict tells you which encoding the browser actually uses (the header wins, then the BOM, then the meta tag). If the three declarations contradict, the conflict is shown in red, and the override is named.

02 / FREQUENTLY ASKED QUESTIONS

The six questions most people bring to this tool.

I see ’ on my page — what causes this?

The character ’ is the most common mojibake on the web. It appears when a UTF-8-encoded apostrophe (the bytes E2 80 99) is interpreted as Latin-1 (ISO-8859-1). The browser does this when the HTTP Content-Type header says charset=iso-8859-1 (or windows-1252, which is a superset) but the page content was saved as UTF-8. Charsetlint flags this exact pattern by name: "UTF-8 bytes served as Latin-1".

I checked my <meta charset> and it says UTF-8 — why is my page still showing mojibake?

Because the browser looks at three sources in order, and the HTML meta tag is last. If your server sends Content-Type: text/html; charset=iso-8859-1 in the HTTP header, the browser honours that over your meta tag — even if the meta tag is perfectly correct. Charsetlint shows you all three sources side by side. If the header disagrees with the meta tag, that is where you need to look: the server configuration, a reverse proxy, or a CDN setting.

Does Charsetlint fix the problem?

No. Charsetlint is a diagnostic instrument — it identifies the contradiction and names the source that overrides the others. It does not edit your server config, your HTML, or your CDN settings. Once the tool tells you which source is out of alignment, you take that information to your deployment pipeline, server admin, or hosting provider.

Why can't you check my Cloudflare site?

Charsetlint runs on Cloudflare Workers. Cloudflare's platform prevents a Worker from opening an outbound connection to another Cloudflare-fronted host — the request is blocked at the network level. This is not a problem with your page, and the error message in the tool says so explicitly. To diagnose a Cloudflare site, you would need to check the encoding declarations from a non-Cloudflare environment (a local curl command, or a browser's DevTools network tab to inspect the response headers).

Do you store the URLs I check?

No. Charsetlint is stateless. When you submit a URL, the Worker fetches the page, reads the encoding declarations, returns the result, and retains nothing. There are no server-side logs, no database, no history. Each diagnosis is independent. See the Privacy page for full details.

How do I know which encoding the browser actually uses?

The verdict line at the top of the diagnosis tells you. The browser uses the encoding from the first source that is present, in this order: (1) the HTTP Content-Type header, (2) a byte-order mark at the start of the file, (3) the <meta charset> tag. If all three are absent, the browser falls back to a heuristic guess (typically the locale or the server default). Charsetlint shows each source and whether it agrees with the winning source.

03 / KNOWN LIMITATIONS

What the tool does not do — honestly stated.

04 / CONTACT US

How to reach a human about Charsetlint.

Questions that are not answered here, bug reports, feature requests, and billing questions should be directed to the support address below. We read every message, and we reply as promptly as we can — but this is a small operation, so please allow time for a response.

charsetlint@agen2ic.ai

This address reaches a human. The local part charsetlint identifies which product your message is about.

Before you write: please check the FAQ above and the homepage — your question may already be answered. If you are reporting a problem with a specific URL, include the URL in your email so we can reproduce the diagnosis.