FixMyHtml

How to annotate an HTML file without hosting it first

Every website annotation tool starts with the same question: what is the URL? That works for a site that is already live. It does not work for the file sitting on your desktop, which is where most HTML reports and one-pagers spend their entire life.

Why the usual tools ask for a URL

Website feedback tools reach a page in one of three ways. A proxy fetches the page on your behalf and injects a comment layer. A browser extension adds that layer on the page you are already viewing. A JavaScript snippet is pasted into the site's own code by whoever maintains it.

All three assume the page is reachable over the network. If your deliverable is a single .html file that an AI assistant generated an hour ago, none of them apply without first putting the file somewhere it does not belong. For anything with client figures in it, that upload is the part you cannot do at all.

Annotate the file where it already is

The alternative is to open the file in a page that reads it locally. A browser can read a file you hand it without sending it anywhere, render it, and let you click the parts that need to change. That is what FixMyHtml does.

  1. Drag the .html file onto the page. It is parsed in your browser. There is no account, no upload and no install.
  2. Click what is wrong. The element you clicked is highlighted and a note box opens. Write what should change in plain words, the way you would say it to a colleague.
  3. Pick what kind of change it is. Edit, delete, add, or a question you want answered rather than a change you want made.
  4. Repeat, then export. Every note comes out as one instruction, in document order, each one tied to the exact element it came from.

What makes an annotation actually usable

A pin on a screenshot says "this bit here". That is enough for a human looking at the same screenshot, and useless to anything else. An annotation that survives the trip to whoever does the editing has to answer which element without ambiguity.

The hard case is a page with fifteen identical cards. "Make the heading bigger" is fine when there is one heading and hopeless when there are fifteen. So each note needs to carry a piece of the source that appears exactly once in the file, which is what lets the next person, or the next tool, find the right one on the first try.

This is also why line numbers alone are a poor anchor. The moment one edit lands, every line below it moves, and the rest of your notes point at the wrong place.

Local file versus URL-based tools

URL-based annotationLocal file annotation
Page must be hostedYesNo
Install or snippetExtension or code changeNone
Confidential documentsLeaves your machineStays in the browser
Best forLive sites, staging, team QAFiles you are still producing
OutputComments or tickets for a personInstructions an AI assistant can apply

Neither replaces the other. If you are running client review on a staging site with five stakeholders, a hosted tool with accounts and threads is the right shape. If you are one person with a file and an AI assistant, hosting it first is a step that buys you nothing.

Common questions

Does the file get uploaded?

No. It is read by the browser and rendered locally. You can watch it work with your network disconnected. Signing in is optional and only exists to keep your notes across devices, so for anything confidential, stay signed out.

Can I annotate a page that is already live?

Save it first. In any browser, Save Page As gives you an .html file you can open the same way. You will lose anything the page loaded from elsewhere, which is fine for a report and not fine for a web app.

What do I get at the end?

A block of text, in document order, where each note names its target with a verbatim excerpt from your file. You paste it into whatever is doing the editing.

Open an HTML file and try it