What Are Text Fragments?
Text fragments represent a significant advancement in web navigation, enabling creators and users to craft URLs that point directly to specific text within any webpage. Unlike traditional URL fragments that rely on HTML element IDs (like #section-heading), text fragments use the actual content text as the destination, making them remarkably flexible and universally applicable.
The feature works by embedding a special directive in the URL fragment that specifies which text to find and highlight. When a browser encounters such a URL, it searches the page for the matching text, scrolls it into view, and applies a visual highlight.
This capability has profound implications for content sharing, citation, and documentation. Researchers can link directly to specific findings, support teams can point users to exact instructions, and educators can share precise references--all without relying on page authors to maintain anchor infrastructure. For websites focused on search engine optimization, text fragments offer a powerful way to enhance user experience and improve content discoverability.
The Problem Text Fragments Solve
Historically, deep linking on the web required coordination between the linker and the linkee. To create a meaningful anchor, page authors needed to anticipate which sections users would want to reference and explicitly add ID attributes to those elements. This created friction in content sharing and made it impossible to link to content on pages where authors hadn't anticipated linking needs.
Text Fragment URL Syntax
The text fragment syntax follows this pattern:
#:~:text=[prefix-,]textStart[,textEnd][,-suffix]
Syntax Components
Each component serves a specific purpose in targeting the desired text:
| Component | Description | Required |
|---|---|---|
# | The standard URL fragment identifier | Yes |
:~: | The fragment directive, separating URL processing instructions | Yes |
text= | The text directive indicator | Yes |
textStart | The beginning text to match | Yes |
,textEnd | Optional end text to define a range | No |
prefix- | Optional text that must appear before the target | No |
,-suffix | Optional text that must appear after the target | No |
All text values must be URL-encoded (percent-encoded) to handle special characters and spaces properly.
The Fragment Directive
The fragment directive (:~:) serves as a critical separator in the URL structure. Everything before it follows traditional URL parsing rules, while everything after it consists of user-agent directives that browsers process specially.
This design ensures that text fragments cannot be accidentally interpreted as part of the page path or query string, and it prevents author scripts from accessing or manipulating text fragment instructions--maintaining both reliability and security.
Matching Behavior
Text fragment matching operates with several important characteristics:
- Case-insensitive matching: Matches are case-insensitive by default, meaning
TEXT,text, andTextall match the same content - First match priority: When multiple matches exist on a page, the browser selects the first match by default
- Disambiguation: The prefix and suffix parameters provide disambiguation capabilities when a word appears multiple times on a page
Building Text Fragments: Practical Examples
Simple Text Matching
The simplest text fragment targets a single word or phrase:
https://example.com/page#:~:text=introduction
This URL navigates to the page and highlights the first occurrence of "introduction". If no match exists, the browser loads the page normally without error.
Defining Text Ranges
To target a range spanning multiple words or sentences, use both start and end markers:
https://example.com/article#:~:text=According to research, Machine learning
This targets text starting with "According to research," and ending with "Machine learning," highlighting everything between those markers.
Disambiguation with Prefix and Suffix
When a word appears multiple times on a page, use prefix and suffix to narrow the match:
https://docs.example.com/guide#:~:text=Configuring the API,-authentication
This targets "Configuring the API" only when followed immediately by "-authentication," distinguishing it from other instances of the phrase.
Multiple Text Fragments
A single URL can target multiple text fragments using the ampersand (&) separator:
https://example.com/article#:~:text=Introduction&text=Conclusion
This highlights both the introduction and conclusion sections simultaneously, allowing readers to see multiple referenced sections in context.
| Browser | Version | Status |
|---|---|---|
| Chrome | 89+ | Supported |
| Edge | 89+ | Supported |
| Firefox | 131+ | Supported |
| Safari | 18.2+ | Supported |
Text fragment support has matured significantly since initial implementation. Chromium-based browsers (Chrome, Edge, Opera) have supported text fragments since version 89, released in 2021. Firefox added support in version 131 (late 2024), and Safari implemented the feature in version 18.2 (late 2025).
This broad support means text fragments can be reliably used for most web audiences, though graceful degradation remains important--users on unsupported browsers simply navigate to the page without highlighting.
When implementing modern web features like text fragments, partnering with an experienced web development agency ensures your site leverages the latest browser capabilities while maintaining compatibility across all platforms.
Styling Text Fragments with ::target-text
Modern browsers support the ::target-text pseudo-element, which allows developers to customize how highlighted text fragments appear to users. This provides branding consistency and improved visual accessibility.
Basic Styling
::target-text {
background-color: #0066cc;
color: #ffffff;
}
This styling changes the default pale yellow highlight to a more prominent blue background with white text, ensuring text fragments stand out clearly on your pages.
Advanced Customization
Beyond basic color changes, developers can apply various visual properties:
::target-text {
background-color: rgba(0, 102, 204, 0.3);
color: #1a1a1a;
text-decoration: underline wavy #0066cc;
}
These customization options allow text fragments to integrate seamlessly with site design while maintaining clear visibility for linked content.
Same-Origin and Cross-Origin Navigation
<a href="https://external-site.com/page#:~:text=target" rel="noopener" target="_blank">
Link to text
</a>
Privacy Implications
Text fragments operate entirely client-side, but their usage patterns could theoretically reveal information about user behavior. Sites concerned about such tracking can opt out by sending a Document-Policy header:
Document-Policy: force-load-at-top
This header prevents browsers from processing text fragments, ensuring pages always load at the top regardless of fragment directives.
Implementing secure navigation patterns is essential for any AI-powered web application. Our team ensures that modern features like text fragments are implemented with proper security considerations to protect both your site and your users.
Best Practices
Creating Reliable Fragments
When crafting text fragments, follow these guidelines:
- Choose distinctive text: Avoid generic words like "the" or "and" that appear frequently
- Use complete phrases: Specific phrases or complete sentences provide the most durable fragments
- Test before sharing: Open the URL in an incognito window to verify the match works as expected
- Recheck periodically: Important links should be tested periodically to ensure they still function
Performance Considerations
Text fragment matching occurs during page load and may introduce a brief delay before the browser scrolls to the target. This delay is typically imperceptible but should be considered for time-sensitive navigation.
Note: Fragment matching only searches the main document frame--content within iframes is not affected.
Documentation and Support
Support teams can send users directly to specific instructions, reducing confusion and support ticket volume.
Academic and Research Citation
Researchers can share links to specific passages in online papers, books, and articles with exact references.
Content Curation and Sharing
Content curators can highlight key passages when sharing articles, providing context and drawing attention to relevant content.
Legal and Compliance
Legal professionals can reference specific contract language or regulatory text with precision.