📎 Convert social media links for Discord embeds

Converts links from popular platforms into formats that embed properly when shared in Discord.
💡 Overview
This script detects links from Twitter/X, Reddit, Instagram, TikTok, Threads, Pixiv, Bilibili, Facebook, Tumblr, YouTube Shorts, and Bluesky, then converts them to alternative domains optimized for Discord previews. You trigger conversion by double-pressing a key or using a custom shortcut. If only one conversion option exists for the current page, the script copies it automatically. If multiple options exist, a selection panel opens so you can choose which one to copy.
🎯 How to Use
After installation, the script is ready to use on any webpage containing supported social media links.
Activation methods:
- Double-press backtick (`): The default trigger. Press the backtick key twice in quick succession anywhere outside a text input field.
- Custom shortcut: Set your own key combination (for example, Ctrl+Shift+L) in the settings panel.
- Settings menu: Click the script menu command to manually open the conversion panel at any time.
What happens next:
- Zero or one conversion option: The link is copied directly to your clipboard. You see a brief notification confirming the copy.
- Multiple conversion options: A panel appears showing each available format. Select the one you want, and it copies immediately.
🚀 Core Features
📋 Quick Copy with Smart Detection
When you trigger the script, it analyzes the current page to identify how many ways the link can be converted.
- If the page matches one of the built-in conversion rules, that target is copied automatically.
- If multiple conversion targets exist, you choose which one before copying.
- If the page has no recognized social media links, the current page URL is cleaned and copied instead.
🔄 Multi-Platform Support
The script recognizes and converts links from eleven platforms.
- Twitter / X: converts to embed-friendly alternatives.
- Reddit, Instagram, TikTok, Threads: each has multiple alternate domains available.
- Pixiv, Bilibili: Asian media platforms supported.
- Facebook, Tumblr: additional social networks included.
- YouTube Shorts: automatically converts to standard YouTube watch links.
- Bluesky: decentralized platform support.
Each platform may have multiple target formats. The panel shows all available options.
🗑 Automatic URL Cleaning
Tracking parameters and query strings are removed before copying.
- Shortened or modified URLs are normalized to their canonical form.
- Extra parameters that bloat the preview are stripped away.
- You receive a clean, readable link suitable for sharing.
🔧 Custom Domain Rules
Add your own source-to-target domain mappings in the settings.
- Navigate to the settings panel using the script menu.
- Enter a source domain (e.g.,
youtube.com) and a target domain (e.g., yewtu.be).
- Your custom rule is applied across all pages with that source domain.
- Custom rules stack on top of the built-in conversions—you can add as many as needed.
⚙️ Customizable Trigger Keys
Configure how the script activates.
- Change the double-press trigger key from the default backtick to any other single key.
- Set a global keyboard shortcut using modifier keys (Ctrl, Alt, Shift, Meta).
- The shortcut only works outside text input fields to avoid interference with typing.
🌍 Multi-Language Interface
The settings panel and notifications adapt to your browser language.
- Supported languages: English, Traditional Chinese, Simplified Chinese, Japanese, Korean, Spanish, Portuguese (Brazil), French, and Russian.
- All UI labels, button text, and descriptions are translated.
💾 Settings Import and Export
Save and load your custom rules and preferences as JSON files.
- Access the settings panel, then export your configuration as a downloadable file.
- On another device or browser, import the file to restore your setup instantly.
- Useful for synchronizing settings across multiple installations.
🌐 Custom Language Support
Define your own UI text for any language not listed above.
- Create a custom language file using the export format.
- Edit the JSON to add any language you prefer.
- Import the file back into the script, and all UI text switches to your custom language.
- The script remembers your custom language even after closing the panel.
⚠️ Known Limitations & Planned Improvements
The script is actively maintained with optimization in progress. Current limitations include:
Panel UI Scaling
The settings panel text appears small on some displays and may be difficult to read. Font size adjustments are planned for a future release.
Frosted Glass Effect Performance
The settings panel uses a frosted glass (backdrop blur) visual effect. While visually polished, this effect can increase CPU and GPU resource consumption on systems with limited hardware resources. Future releases will include options to disable this effect or use a lighter alternative.
Custom Domain Rules Usage
The custom rule feature is available but sees limited practical use in current versions. Streamlining and improving the custom rules interface is on the roadmap.
These limitations will be addressed incrementally in upcoming updates. No action is required from users—the script functions normally despite these pending improvements.
ℹ️ Notes on Usage
This script modifies the destination of links you share. When you paste a converted link into Discord or another chat platform, the preview and metadata shown will reflect the alternative domain, not the original service. This is intentional—many third-party embed services provide better preview support in Discord than the official platforms.
Before using this script:
- Verify that your Discord server or channel permits link conversions and alternative domains.
- Be aware that some members may see a different preview or metadata than what the original link would display.
- Understand that preview availability depends on the third-party service being online and functional.
Use the script responsibly and according to your community's expectations.