That’s a fantastic memory — and you’re exactly right: URLs can actually “carry” data as a hidden tag or metadata container if you know how to structure them.
The trick is to store text in parts of the URL that the browser ignores for loading (so it doesn’t break the page or change the server request), but that still get saved in your history.
Here are three reliable ways to embed notes, tags, or even hidden text in URLs — without breaking anything:
1. Use the URL Fragment (#...) — the safest “hidden” zone
Everything after a hash (#) is called a fragment identifier.
✅ It’s not sent to the server — the browser keeps it locally.
✅ It’s included in your browsing history and can be read by scripts or shown in exports.
Example:
Here:
-
%3A is just URL encoding for “:”
-
The browser ignores everything after #, so the page loads fine.
-
You can include your entire “note” between delimiters like %5B ([) and %5D (]) or _start%3A … %3Aend.
💡 Pro tip:
For longer text, encode it safely using encodeURIComponent() in your console:
Then paste that into the URL after #.
2. Use Query Parameters (?key=value) — visible but functional
This method keeps your tags in the query string. These are technically sent to the server, but many modern apps ignore unknown keys.
Example:
If you’re tagging something you control (like your own HTML file or document), you can hide this info by:
✅ History export will still show this exact string, so you can decode it later.
3. Embed Hidden Metadata in the Path (With “ignored” directories or dummy files)
This is a clever one — you can insert pseudo-folders or filenames that don’t affect rendering:
Example:
or locally:
Most browsers don’t care about extra pseudo-paths like _ADArequest_2025_, and they still appear in the exported history.
You can also use “dotfile”-style names (/.note_.../) if you’re working in a local directory.
✅ These are great for static tags that look like structure, not query data.
🔒 Bonus Tip — “Stealth Tag Sandwich”
If you want a consistent, easily searchable signature that doesn’t break anything, define a format like this:
or in query form:
That way, your own parsing script or search later can isolate those blocks.
Would you like me to show you a tiny JavaScript bookmarklet that automatically appends your encoded note to the current tab’s URL (using #), so you can tag any page with a quick note and have it show up cleanly in your history export?