Text Fragment Link Builder
Build passage links from literal text and optional context, or a local CSV batch, without opening the destination.
Loading tool…
How to use Text Fragment Link Builder
Share a passage even when its page has no convenient element ID. Enter the page URL and the text terms you want a supporting browser to seek. This local builder encodes the directive punctuation and retains an ordinary fragment as a fallback; it does not inspect the page or promise that a recipient’s browser will find or highlight the passage.
- Enter a page URL and literal passage terms, or select a small UTF-8 CSV batch.
- Choose a URL list or source evidence and run the local builder. No destination opens.
- Review the resulting link before sharing it. Check its behavior yourself in a supporting browser and keep private quotations out of links you do not want to share.
Good to know
- One ordinary authoring record, or 1–100 CSV data records from a nonempty file up to 100,000 bytes and 30,000 UTF-16 source characters. File reads have a 5-second deadline. CSV requires five unique exact headers url,start,end,prefix,suffix; quoted commas/doubled quotes and LF/CRLF are supported. No unknown columns, blank data records, bare CR or malformed quoting are accepted.
- Page URLs use at most 4,096 UTF-16 characters, start/end at most 1,000 each and prefix/suffix at most 200 each. Start must be nonblank. Empty optional fields mean absent. Terms remain literal single-line well-formed Unicode without forbidden controls, direction marks or noncharacters; no trimming or source normalization is performed.
- Only absolute credential-free HTTP(S) URLs are accepted. Raw whitespace, quotes, angle brackets, backslashes and malformed percent escapes are refused. Browser URL serialization can normalize spelling; the original and serialized base are both retained in JSON. A literal existing :~: fragment directive is refused instead of merged or overwritten.
- The builder encodes UTF-8 term bytes, including literal hyphens, commas, ampersands and percent signs. Each independent record produces one text directive. A generated URL is capped at 20,000 characters; the complete URL list at 750,000 characters/bytes and JSON at 1,000,000. Both artifacts are checked before either is returned; no partial batch is exported.
- This implements a syntax-authoring subset of the WICG Draft Community Group Report, not the browser matching/navigation algorithm or a W3C Standard conformance claim. Target text, uniqueness, browser support, case/word/whitespace matching, block boundaries, visibility, redirect policy, highlight and scroll behavior are unverified. Destination text changes can invalidate a link. There is no fetch, automatic navigation, active preview link, polyfill, extension, storage or upload.
Common questions
Will this confirm that the passage appears on the destination page?
No. It only constructs the link from your supplied terms. The page is never requested. A browser may match a different occurrence, apply its own matching rules or decline the feature; review the actual destination yourself before relying on the link.
Why are hyphens and commas encoded inside my passage?
Those characters have roles in the directive syntax. The builder percent-encodes literal term characters so they remain data, then generates the required range and context separators itself.
Can I keep a section anchor as a fallback?
Yes. An ordinary existing fragment is retained before the new directive. Existing fragment directives are refused, and the tool does not verify that the fallback element exists.
Keep going with related tools
All text →URL Parser
Inspect HTTP(S) URL components, normalized hostnames, and repeated query parameters without visiting a link.
SEOHTML Link and Fragment Auditor
Inspect same-document fragment references and duplicate targets from supplied HTML source locally.
TextPlain-text Annotation Selector Auditor
Check declared text-position and quote anchors against an exact local excerpt while retaining stale and ambiguous matches.