X-URL-parser (Twitter)

Sociale Media Netwerk
Geanalyseerde URL
Soort
Gebruikersnaam
Inhouds-ID
Weergave
Verwijderde parameters

Inleiding

X-links (Twitter) zijn van nature chaotisch. Dezelfde tweet kan aankomen als twitter.com-link, als x.com-link, als app-deellink met vijf trackingparameters, als trend-klik-zoeklink, als /photo/1-variantelink of als hashtag-link in elke taal. De inhoud is identiek – alleen de vorm van de URL verandert. De X-URL-parser (Twitter) is een gratis online tool die meer dan twintig X-linkformaten herkent, de tweet-ID extraheert, de trackingruis verwijdert en de link herbouwt als schone canonieke URL, officiële embed-URL of deel-intent-URL.

De parser is bedoeld voor iedereen die regelmatig met X-links werkt: socialmedia-managers die ze publiceren, communitymanagers die ze archiveren, marketeers die campagnes volgen, onderzoekers die ze op grote schaal verzamelen en ontwikkelaars die ze in databases opslaan. In plaats van elke link handmatig op te schonen of te vertrouwen op een verkorter die verbergt wat hij doet, plak je de link en zie je precies wat de parser heeft gevonden – het linktype, de gebruikersnaam, de inhouds-ID, de weergavevariant en de verwijderde parameters.

Twee eigenschappen onderscheiden deze tool. Hij analyseert direct, met een bijgewerkt resultaat bij elke toetsaanslag, en doet nul netwerkverzoeken – de link verlaat je browser nooit. Geen server, geen API-quotum, geen log van wat je plakt.

Gebruiksgevallen

Publicatie en campagnes. Voordat je een X-link in een nieuwsbrief, blogpost of advertentiereactie zet, maak je hem schoon met het canonieke formaat. Trackingparameters zoals s, t en twclid zijn gekoppeld aan de deelsessie, worden snel waardeloos en vervuilen analyserapporten. De canonieke URL publiceren houdt je inhoudslink stabiel en je statistieken eerlijk.

Archivering en deduplicatie. Als je X-links opslaat in een spreadsheet, CMS of onderzoeksdataset, kan dezelfde tweet in tientallen URL-vormen verschijnen – verschillende domeinen, varianten en parameterketens. De parser normaliseert alles naar één canonieke vorm, zodat twitter.com/jack/status/20, x.com/jack/status/20 en dezelfde link met ?s=20&t=… samenvallen tot één stabiele identificatie waarop je kunt dedupliceren.

Trendmonitoring. Trend-kliklinks zijn de rommeligste X-URL's die er bestaan: x.com/search?q=%23Gewitter&src=trend_click&vertical=trends. Elke tweet in je monitoringtabel komt in die vorm binnen. De parser herkent het patroon, normaliseert een enkele-hashtag-query naar de canonieke hashtagpagina en verwijdert de herkomstparameters – één plakken verandert een trendlink in een schone, deelbare URL.

Website-embeds. Wanneer je tweets op je eigen site publiceert, genereert het embed-formaat de officiële X-widget-URL (platform.twitter.com/embed/Tweet.html?id=…). Zet die in een iframe en X rendert de tweet met het officiële design – geen embed-diensten van derden, geen scraping.

Datahygiëne. Voor ontwikkelaars en onderzoekers is de parser ook een specificatiereferentie – de lijst met verwijderde parameters toont precies welke trackingsleutels X vandaag toevoegt, en de tabel met ondersteunde formaten documenteert elke route die de tool herkent.

Een X-link heeft drie delen die het waard zijn om te begrijpen: de host, het pad en de querystring.

Bekijk een echte tweetlink zoals de mobiele app die deelt:

https://twitter.com/markito0171/status/2089759704335482961/video/1?s=20&t=FakeNonce&ref_src=twsrc%5Etfw

De host twitter.com (of x.com, mobile.twitter.com) vertelt de parser tot welke familie de link behoort. Het pad /markito0171/status/2089759704335482961/video/1 benoemt de route – hier een tweet met een video-weergavevariant. De querystring mengt twee soorten parameters die de parser heel verschillend behandelt:

Parameter Soort Wat de parser doet
2089759704335482961 (pad) Identiteit Behoudt hem – dit is de Snowflake-ID van de tweet
/video/1 (pad) Weergavevariant Behoudt de tweet, noteert de variant – dezelfde tweet gerenderd als video
s=20 Tracking Verwijdert hem – tijdstempel van het deelsheet
t=FakeNonce Tracking Verwijdert hem – deel-nonce-token
ref_src=twsrc^tfw Tracking Verwijdert hem – herkomstverwijzing (hier Twitter-voor-web-embed)

Identiteitsparameters vertellen je naar welke tweet, profiel, lijst, Space, evenement of hashtag de link wijst. Al het andere is context – hoe je er kwam, uit welke app, welke weergave openstond. De parser behoudt de identiteit en gooit de context weg, en meldt daarna de verwijderde sleutels zodat de opschoning controleerbaar is.

De twee domeinen. X veranderde in 2023 zijn naam van Twitter naar X, en x.com werd in 2024 het hoofddomein. Beide domeinen leveren dezelfde inhoud en verwijzen naar elkaar door, en links die van beide plaatsen zijn gekopieerd werken identiek. De parser accepteert beide plus het oude mobile.twitter.com-subdomein en geeft de canonieke vorm altijd op x.com – het domein waar X vandaag zelf naartoe verwijst.

De interne /i/-routes. Een tweede linkfamilie leeft onder /i/: x.com/i/web/status/{id} (de tweetroute van de web-app wanneer een tweet-URL zonder gebruikersnaam wordt geopend), x.com/i/spaces/{id} (live audio-Spaces), x.com/i/lists/{id} (lijsten op ID) en x.com/i/events/{id} (tijdlijnen en Moments). De parser herkent elk ervan en brengt ze terug naar hun canonieke vorm.

Hoe het werkt

De analyse vindt volledig in je browser plaats, zonder netwerkverzoeken en zonder server-retour. Bij elke toetsaanslag gaat de link door drie fasen:

  1. Hostmatch. De link wordt vergeleken met de X-domeinen: twitter.com en x.com, met elk subdomein zoals mobile. of www.. Gelijkende domeinen zoals evilx.com worden afgewezen.
  2. Routematch. Het pad wordt opgedeeld in segmenten en vergeleken met de tabel van bekende routes – {gebruiker}/status/{id}, i/web/status, i/spaces, i/lists, i/events, hashtag, search, profielwortels en profieltab-paden.
  3. Query-analyse. De q-parameter van zoeklinks wordt gedecodeerd en geclassificeerd, terwijl trackingparameters volgens drie regels worden herkend en aan de verwijderde-lijst worden toegevoegd.

Elke geëxtraheerde waarde wordt vóór acceptatie gevalideerd tegen strikte patronen: tweet-ID's moeten 15–19 cijfers hebben, gebruikersnamen 1–15 letters, cijfers of underscores, en hashtags tot 30 tekens in elk Unicode-schrift. Alles wat de validatie niet doorstaat, zorgt ervoor dat de parser een ongeldige link meldt in plaats van te raden.

Omdat er geen netwerktoegang is, heeft de parser nooit een laadstatus nodig, komt hij nooit een rate limit tegen en levert hij resultaten op het moment dat je plakt.

Ondersteunde linkformaten

De parser herkent meer dan twintig formaten in zeven resultaatsoorten.

Formaat Voorbeeld Resultaatsoort
Tweet met gebruikersnaam x.com/elonmusk/status/1234567890123456789 tweet
Tweet op het oude domein twitter.com/jack/status/20 tweet
Tweet op mobiel subdomein mobile.twitter.com/elonmusk/status/1234567890123456789 tweet
Web-app-route (zonder gebruikersnaam) x.com/i/web/status/1234567890123456789 tweet
Fotoweergave van tweet x.com/elonmusk/status/1234567890123456789/photo/1 tweet (variant photo)
Videoweergave van tweet x.com/elonmusk/status/1234567890123456789/video/1 tweet (variant video)
Taalweergave van tweet x.com/elonmusk/status/1234567890123456789/lang/zh tweet (variant lang: zh)
Analytics-weergave van tweet x.com/elonmusk/status/1234567890123456789/analytics tweet (variant analytics)
Eenvoudig profiel x.com/elonmusk profile
Profieltab x.com/elonmusk/with_replies profile
Lijst op slug x.com/elonmusk/lists/tech-leaders list
Lijst op ID x.com/i/lists/1234567890123456789 list
Live-Space x.com/i/spaces/1zqKVZlLKvPJB space
Evenement of Moment x.com/i/events/1234567890123456789 event
Hashtagpagina x.com/hashtag/tech hashtag
Unicode-hashtagpagina x.com/hashtag/日本 hashtag
Hashtag-zoekopdracht (genormaliseerd) x.com/search?q=%23Gewitter&src=trend_click hashtag
Trefwoordzoekopdracht x.com/search?q=hello+world search

Profieltabs worden generiek geaccepteerd: elk woord in kleine letters in het tweede padsegment – with_replies, media, likes, following, followers, lists, moments en elke toekomstige tab – lost op naar het profiel zelf, omdat een tab een weergave van het profiel is en geen eigen bron.

De parser wijst ook routes af die geen deelbare X-inhoud zijn. Platformzaken zoals home, explore, login, settings, messages en notifications geven een ongeldig-melding, net als gebroken vormen zoals een puur numerieke gebruikersnaam (x.com/1234567890), een tweet-ID zonder 15–19 cijfers (x.com/gebruiker/status/1234) of een lege route zonder identificatie (x.com/hashtag/). De volledige blokkeerlijst staat in het hoofdstuk "Technische specificaties".

Snowflake-ID's begrijpen

Elke tweet heeft een numerieke ID, en het getal is niet willekeurig. X bouwt tweet-ID's in het Snowflake-formaat: een 64-bits geheel getal met drie delen – een 41-bits tijdstempel in milliseconden sinds het eigen tijdperk van 4 november 2010, een 10-bits machine-identificatie en een 12-bits volgordeteller per machine.

Wat dit in de praktijk betekent:

  • De ID codeert de exacte milliseconde van plaatsing. De ID 2089759704335482961 decodeert bijvoorbeeld naar een plaatsingstijd in augustus 2026 – dat kun je met elke Snowflake-decoder zelf controleren, zonder API.
  • De ID's zijn gegroeid van 15 cijfers in 2010 naar 19 cijfers vandaag, omdat de tijdstempelbits blijven groeien. De parser accepteert 15–19 cijfers en bestrijkt daarmee de hele geschiedenis van het platform.
  • De ID is de stabiele sleutel van de tweet. Anders dan gebruikersnamen (die kunnen veranderen) en URL-vormen (die variëren), verandert de Snowflake nooit – gebruik hem om links in een database te dedupliceren, de tweet te zoeken of in een CMS te refereren.

De parser valideert de vorm van de ID maar decodeert hem niet – het decoderen van de tijdstempel is het werk van een speciale Snowflake-decoder. Voor het opschonen van links telt dat de parser nooit een willekeurig getal voor een tweet-ID aanziet en nooit raadt wanneer de vorm onjuist is.

Wanneer je op X op een trend of hashtag klikt, stuurt het platform je niet naar een schone URL. Het stuurt je naar een zoekpagina met een gecodeerde query:

https://x.com/search?q=%23Gewitter&src=trend_click&vertical=trends

De q-parameter is de eigenlijke zoekopdracht – hier, percent-gecodeerd, de enkele hashtag #Gewitter. De rest is aankomstcontext: src=trend_click noteert dat je van een trend kwam en vertical=trends selecteert de trends-weergave.

De parser behandelt deze links op twee manieren:

Queryvorm Voorbeeld Resultaat
Exact één hashtag q=%23Gewitter Normaliseert naar de canonieke hashtagpagina x.com/hashtag/Gewitter
Exact één hashtag, elk schrift q=%23%E6%97%A5%E6%9C%AC (日本) Normaliseert naar x.com/hashtag/日本
Platte tekst of meerdere termen q=hello+world, q=%23foo+%23bar Blijft een zoeklink x.com/search?q=hello%20world

Waarom überhaupt normaliseren? Een hashtag-zoekopdracht en de hashtagpagina tonen dezelfde inhoud, maar de URL van de hashtagpagina is stabiel, kort en deelbaar – en het is de vorm die X zelf in profielen en bios gebruikt. De normalisatie bespaart je het handmatig corrigeren van elke trendlink in je tabel.

Zuivere trefwoordzoekopdrachten worden niet genormaliseerd (er is geen canonieke pagina voor een willekeurige query), dus de parser houdt ze als zoeklinks, terwijl hij de aankomstcontext (src, vertical, f) toch verwijdert. Zoekopdrachten met lege of ontbrekende q worden als ongeldig afgewezen.

Trackingparameters die we verwijderen

X voegt een lange lijst parameters aan links toe, en de parser verwijdert ze volgens drie herkenningsregels:

  1. Campagneparameters – elke sleutel met utm_-voorvoegsel (Google Analytics-conventie): utm_source, utm_medium, utm_campaign, utm_term, utm_content.
  2. Interne tokens – elke sleutel met een dubbel underscore-voorvoegsel.
  3. De exacte lijst – 19 bekende tracking-, sessie- en navigatieparameters.

De meest voorkomende parameters van de exacte lijst:

Parameter Wat hij noteert
s Deel-tijdstempel uit het deelsheet van de mobiele app
t Deel-nonce-token, gekoppeld aan s
twclid X-klik-ID – uit welke advertentie of welk zoekresultaat de klik kwam
ref_src Herkomstverwijzing, bijvoorbeeld twsrc^tfw voor Twitter-voor-web-embeds
ref_url De pagina waarop de link is aangeklikt
ref Korte vorm van de verwijzer
src Aankomstcontext: trend_click, hashtag_click, tren (trending) en dergelijke
cn E-maildeel-trackingtoken (vaak base64-achtig)
iid Campagne-instantie-ID uit advertenties
ntref Meldingcontext
ft Intern webclienttoken
lang Taaloverride voor de weergave
vertical Selector voor de zoekweergave: trends, news, users
f Zoekfilter: live, user, image, video
p, rd, rnd, cxt, bp Oudere app-contexttokens, samengevat onder één regel

Identiteitsparameters worden nooit verwijderd: de tweet-ID in het pad, de lijst-ID, de Space-ID en de q van een zoeklink zijn de inhoud zelf. Ze verwijderen zou de link breken.

Waarom is verwijderen altijd veilig? Trackingparameters beschrijven hoe je er kwam, niet waar de link naartoe wijst. twclid, src en utm_* veranderen alleen de attributierapporten; de gerenderde inhoud is er zonder identiek. De regel "Verwijderde parameters" toont precies wat er is verwijderd, zodat de opschoning in één oogopslag controleerbaar is.

Gids voor uitvoerformaten

Elke geanalyseerde link kan in drie formaten worden uitgevoerd.

Formaat Uitvoer Wanneer gebruiken
Canonieke URL De schone, stabiele link op x.com Publicatie, archivering, deduplicatie, alles wat een link langdurig opslaat
Embed-URL De officiële widgetpagina platform.twitter.com/embed/Tweet.html?id=… In een <iframe> zetten om een tweet op je eigen site te renderen
Deel-URL Een officiële intent-URL (intent/retweet, intent/user, intent/tweet) Deelbuttons en campagne-links

Het canonieke formaat geeft altijd het x.com-domein – het huidige merk – ongeacht welk domein je hebt geplakt. Hashtag-zoekopdrachten worden genormaliseerd naar hashtagpagina's en profieltabs vallen terug op de profielwortel.

Het embed-formaat bestaat alleen voor tweets, omdat de X-embed-widget tweets rendert. Het genereert dezelfde widget-URL die X's eigen embed-script in een iframe laadt – open hem in je browser en je ziet de tweet gerenderd met het officiële design. De radio-optie wordt automatisch verborgen voor profielen, lijsten, Spaces en hashtags, waarvoor geen widget bestaat.

Het deel-formaat kiest de passende intent voor de inhoud: tweets gebruiken intent/retweet?tweet_id=… (opent de retweet-dialoog voor die tweet), profielen intent/user?screen_name=…, en hashtags intent/tweet?hashtags=… (stelt een tweet op met vooraf gevulde hashtag). Intents leven op twitter.com – de historische intent-host – en X lost ze op beide domeinen op.

Gebruik

  1. Plak de link. Klik op het invoerveld en plak de X-URL (Ctrl+V of Cmd+V). De parser leest hem tijdens het typen – er is geen knop om in te drukken.
  2. Lees het resultatenvenster. Vijf regels vatten de analyse samen:
Regel Wat hij toont
Soort De resultaatsoort: tweet, profile, list, space, event, hashtag of search
Gebruikersnaam De handle uit de URL, als klikbare link naar het profiel
Inhouds-ID De geëxtraheerde ID – tweet-Snowflake, lijst-ID, Space-ID of hashtag-tag
Variant De weergavevariant van een tweet (photo, video, lang: zh, analytics) – leeg bij normale tweets
Verwijderde parameters De verwijderde trackingparameters, door komma's gescheiden
  1. Kies het uitvoerformaat. Canonieke URL is de standaard. Schakel naar Embed-URL (alleen tweets) of Deel-URL wanneer je een van deze vormen nodig hebt. Formaten die niet van toepassing zijn op het huidige linktype worden automatisch verborgen.
  2. Kopieer het resultaat. Het uitvoerveld werkt direct bij; druk op Kopiëren om het in het klembord te plaatsen.

Stapsgewijze handleiding

Volg een volledig voorbeeld, van een trend-kliklink tot de gepubliceerde schone URL.

Stap 1 – Plak een trend-kliklink. Kopieer deze link, precies zoals hij binnenkomt wanneer je in de X-app op een trend klikt:

https://x.com/search?q=%23Gewitter&src=trend_click&vertical=trends&twclid=abc123xyz

Plak hem in de invoer. Het resultatenvenster vult zich direct: soort hashtag, inhouds-ID Gewitter en de verwijderde parameters src, vertical, twclid.

Stap 2 – Kopieer de canonieke URL. De uitvoer toont de schone hashtagpagina:

https://x.com/hashtag/Gewitter

De enkele-hashtag-query is genormaliseerd naar de canonieke hashtagroute – de URL die X zelf in profielen en bios gebruikt.

Stap 3 – Maak een gedeelde tweet schoon. Plak een app-deellink met volledige parameterketen:

https://twitter.com/markito0171/status/2089759704335482961/video/1?s=20&t=FakeNonce&ref_src=twsrc%5Etfw

Het soort toont tweet, de gebruikersnaam linkt het profiel, de ID is 2089759704335482961, de variant toont video, en de verwijderde-lijst toont s, t, ref_src. De canonieke uitvoer klapt alles samen tot https://x.com/markito0171/status/2089759704335482961 – de /video/1-weergave is dezelfde tweet, dus de schone link wijst naar de tweet zelf.

Stap 4 – Embed de tweet. Schakel naar Embed-URL. De uitvoer wordt https://platform.twitter.com/embed/Tweet.html?id=2089759704335482961. Zet hem in een iframe op je site:

<iframe src="https://platform.twitter.com/embed/Tweet.html?id=2089759704335482961"
  width="550" height="600" style="border:none;overflow:hidden" frameborder="0"
  allowfullscreen="true"></iframe>

Stap 5 – Verwerk een Unicode-hashtag. Plak https://x.com/hashtag/%E6%97%A5%E6%9C%AC?src=hashtag_click. Het soort toont hashtag, de ID is 日本 (gedecodeerd uit het percent-gecodeerde pad), en de canonieke uitvoer is de gecodeerde schone vorm https://x.com/hashtag/%E6%97%A5%E6%9C%AC.

Stap 6 – Deel een profiel. Plak https://x.com/elonmusk en schakel naar Deel-URL. De uitvoer wordt https://twitter.com/intent/user?screen_name=elonmusk – de officiële volg-intent, klaar voor een deelbutton.

Professionele tips

  • Dedupliceer archieven op de inhouds-ID. Wanneer je een tabel in batches opschoont, is de inhouds-ID-regel je stabiele sleutel: dezelfde tweet geeft altijd dezelfde Snowflake, ongeacht via welk domein, welke variant of welke parameterketen hij kwam. Sorteer en dedupliceer op die kolom, niet op de URL.
  • Normaliseer trendlinks voordat je ze opslaat. Trend-klikken zijn de rommeligste X-links, en alle vallen met één plakken terug op een schone hashtagpagina. Bouw je monitoringworkflow rond de canonieke hashtagvorm.
  • Gebruik embed-URL's met de officiële iframe. De X-embed-widget-URL heeft geen extra JavaScript op je pagina nodig – alleen de iframe uit de handleiding. De widget regelt de responsive breedte en rendert het officiële tweet-design.
  • Gebruik deel-intents in campagnes. Het deel-URL-formaat genereert officiële intentlinks voor retweet-, volg- en hashtag-opstel-acties. Ze werken zonder API-sleutel en openen X's eigen dialogen.
  • Beschouw de verwijderde-lijst als monitorsignaal. X verandert zo nu en dan zijn trackingvocabulaire. Als er een parameter in de verwijderde-lijst verschijnt die je nooit hebt gezien, is een blik waard – de parser toont precies wat het platform vandaag toevoegt.
  • Profieltabs klappen automatisch samen. Corrigeer x.com/elonmusk/with_replies niet handmatig naar x.com/elonmusk in een tabel – de parser doet het voor je en houdt de gebruikersnaam-regel intact.
  • Plak links van overal. De parser accepteert beide domeinen en alle subdomeinen, dus links uit de app, het web, nieuwsbrieven of e-mails werken zonder normalisatie.

Alternatieven

Optie Sterke punten Zwakke punten
Deze parser Nul verzoeken, direct, Snowflake-bewust, meer dan 20 formaten, embed- en deel-bouwer, controleerbare verwijderde-lijst, Unicode-hashtags Geen API-toegang tot metadata zoals tweettekst of engagementcijfers
Handmatig corrigeren in de adresbalk Geen tools nodig Foutgevoelig bij lange parameterketens, tweet-ID makkelijk per ongeluk verwijderd, geen embed- of deel-formaten
Generieke URL-schoonmakers Eenvoudig in gebruik Gebouwd voor verkorters en algemene links, niet voor X-routes; meestal blind voor Snowflake-ID's, weergavevarianten en zoeknormalisatie
Browser-extensies voor linkschoning Automatisch op geselecteerde pagina's Extensies zien elke link die je surft, vereisen installatie en rechten en dekken X-specifieke formaten zelden af
X-API (officieel) Volledige metadata, zoeken en plaatsen Pay-per-use sinds februari 2026 zonder gratis tier – zie het volgende hoofdstuk; zonder sleutel niet bruikbaar vanuit de browser

Voor eenmalige opschoning is het canonieke formaat van deze parser de snelste weg; voor batchonderzoek met metadata kan een X-API-account passen – maar het is een ontwikkelaarstool, geen linkschoonmaker.

Vergeleken met de officiële API's

De X-API had ooit een gratis tier. Dat veranderde in 2023 en opnieuw in 2026: X schakelde in februari 2026 over op pay-per-use, schrapte de gratis tier en sloot de oude Basic- en Pro-abonnementen voor nieuwe aanmeldingen. Eén post lezen kost ongeveer $0,005 (rond $5 per 1.000 tweets) en profiellezingen het dubbele. Er is geen gratis quotum om mee te prototypen.

Deze parser roept de API bewust niet aan. Een lokale parser dekt wat de betaalde API niet kan:

Situatie Lokale parser X-API
Linkschoning voor elk archief Direct, onbeperkt, offline Kost per leesverzoek
Trendlink-normalisatie Lokaal geanalyseerd Vereist een zoek-endpoint-call per link
Privacy Link verlaat de browser nooit Gaat naar X-servers en wordt gefactureerd
Kosten Gratis, zonder quotum Vanaf $0,005 per postlezing, zonder gratis tier

De parser beantwoordt de vraag wat is deze link en wat is zijn schone vorm? – een vraag die geen API, geen sleutel en geen quotum nodig heeft. Als je naast opschonen ook tweetmetadata nodig hebt, is een API-account een aparte beslissing; de schone canonieke URL die deze tool genereert, is precies wat je zo'n API toch zou voeren.

Wat de tool niet doet

Hij kan t.co-kortlinks niet oplossen. Elke op X geplaatste link wordt automatisch verkort tot een t.co-URL, en de bestemming is alleen te ontdekken door de doorverwijzing te volgen. Browsers kunnen de doorverwijsbestemming niet lezen omdat CORS het niet toestaat, en een nul-verzoeken-parser raadt nooit. Open de kortlink één keer en kopieer de lange URL uit de adresbalk – de parser verwerkt hem direct.

Hij wijst spiegels van derden af. Nitter-instanties (nitter.net/…) en previewdiensten zoals fxtwitter.com en vxtwitter.com zijn geen X-domeinen en worden afgewezen. Alleen twitter.com en x.com (met elk subdomein) worden geaccepteerd.

Hij wijst niet-inhoudsroutes af. Platformzaken zoals home, explore, login, settings, messages, notifications, compose, intent en share zijn geen deelbare inhoud en worden als ongeldig afgewezen, net als lege routes zonder identificatie (x.com/hashtag/, x.com/i/spaces/).

Hij haalt geen metadata op. Er gaat geen verzoek naar X, dus de parser toont nooit tweettekst, auteurnamen, engagementcijfers of plaatsingsdata. Hij beantwoordt wat is deze link en wat is zijn schone vorm? – niets meer. (De Snowflake-ID zelf codeert de plaatsingstijd, maar decoderen is het werk van een speciale decoder.)

Hij verandert niets. De tool verkort, verwijst door, slaat geen links op en geeft ze niet door. De uitvoer is een URL die je meeneemt.

Probleemoplossing

Probleem Oorzaak Oplossing
Een korte t.co-link wordt als ongeldig gemarkeerd Kortlinks kunnen in de browser door CORS niet worden opgelost Open de kortlink één keer en plak de lange URL uit de adresbalk
"Voer een geldige X-URL (Twitter) in" verschijnt De link gebruikt een geblokkeerde route zoals home of login, een gebroken vorm of een niet-X-domein Controleer of de link echt van X is gekopieerd. Geblokkeerde routes worden bewust afgewezen omdat ze geen inhoud zijn
Een zoeklink toont search in plaats van hashtag De query is platte tekst of bevat meerdere termen Correct gedrag – alleen enkele-hashtag-queries worden genormaliseerd naar hashtagpagina's
Een trendlink toont verwijderde parameters src en vertical Dat zijn aankomstcontextparameters, geen inhoud Verwacht gedrag – de canonieke uitvoer is de schone hashtag- of zoeklink
De embed-radio-optie ontbreekt Embed-widgets bestaan alleen voor tweets Correct gedrag – profielen, lijsten, Spaces en hashtags hebben geen widgetpagina
Een Unicode-hashtag toont verminkte tekens De tag is in de URL percent-gecodeerd De parser decodeert hem – de inhouds-ID-regel toont de gedecodeerde tag (bijvoorbeeld 日本) en de canonieke uitvoer codeert hem veilig opnieuw
Een tweet-ID wordt afgewezen De ID heeft niet 15–19 cijfers Controleer of de link volledig is gekopieerd, inclusief de laatste cijfers
De uitvoer laat de /photo/1-weergave weg Weergavevarianten zijn dezelfde tweet Correct gedrag – de canonieke URL wijst naar de tweet zelf; de variant-regel noteert de oorspronkelijke weergave

Privacy en gegevensverwerking

Deze tool doet nul netwerkverzoeken. De URL die je plakt, wordt volledig in je browser verwerkt: geen server ontvangt hem, geen analyticscript ziet hem, geen log van derden noteert hem. Er is geen account, geen opslag en geen manier voor de tool om te weten wat je na het sluiten van de pagina hebt geplakt.

Dit onderscheidt de parser concreet van API-gestuurde tools: de link, zijn tweet-ID en zijn gebruikersnaam passeren nooit een server die je niet controleert. Je kunt links vóór publicatie, interne campagne-links of privé doorgestuurde links opschonen zonder dat ze in logs van derden verschijnen.

De parser laadt ook geen scripts van derden. De embed-URL die hij genereert, wijst naar X's eigen widgetpagina, en X ziet die URL's alleen als je ze zelf opent of embed – de parser laadt ze nooit.

Technische specificaties

Eigenschap Waarde
Verwerking 100 % client-side, nul netwerkverzoeken
Update-model Realtime bij elke toetsaanslag
Geaccepteerde hosts twitter.com, x.com (elk subdomein), mobile.twitter.com
Resultaatsoorten tweet, profile, list, space, event, hashtag, search
Tweet-ID-patroon (Snowflake) 15–19 cijfers (\d{15,19})
Gebruikersnaampatroon 1–15 letters, cijfers of underscores, niet puur numeriek
Hashtag-tagpatroon 1–30 tekens van Unicode-letters, cijfers of underscores ([\p{L}\p{N}_]{1,30}), gedecodeerd uit percent-encoding
Space-ID-patroon 10–15 alfanumerieke tekens
Lijst-slugpatroon 1–40 alfanumerieke tekens, underscores of streepjes
Profieltab-regel Elk woord-slug in kleine letters in het tweede padsegment, niet numeriek
Zoekregel q vereist; exact één #hashtag normaliseert naar de hashtagpagina
Trackingparameter-regels utm_*-voorvoegsel, __-voorvoegsel en een exacte lijst van 19 sleutels
Behoud van identiteitsgegevens Tweet-ID, gebruikersnaam, lijst-ID, Space-ID, evenement-ID, hashtag-tag, zoek-q
Uitvoerformaten Canonieke URL (x.com), embed-URL (tweet-widgetpagina), deel-URL (retweet-/volg-/hashtag-intents)
Afhankelijkheden Geen – puur JavaScript, geen frameworks
Browserondersteuning Moderne evergreen-browsers (Chrome, Edge, Firefox, Safari) met URLSearchParams en Unicode-property-escapes

De blokkeerlijst is: home, explore, search, intent, share, compose, messages, notifications, settings, login, signup, help, tos, privacy, about, download, jobs, developers, analytics, support, feedback, blog, media, status, s, bookmarks, i, hashtag, lists.

Functies

  • Analyseert meer dan 20 X-linkformaten (Twitter) – tweets, profielen, lijsten, Spaces, evenementen, hashtags en zoeklinks, op twitter.com en x.com
  • Verwijdert automatisch trackingparameters zoals twclid, ref_src, src en utm_* en toont precies wat er is verwijderd
  • Extraheert de tweet-ID en normaliseert hashtag-zoeklinks naar canonieke hashtagpagina's
  • Maakt canonieke x.com-URL's, officiële embed-widget-URL's en deel-intent-URL's met één klik
  • Begrijpt Unicode-hashtags zoals 日本, URL-varianten zoals /photo/1 en de interne /i/-routes
  • Analyseert direct in je browser met nul verzoeken – je links verlaten je apparaat nooit

Veelgestelde vragen

Waarom bevat mijn X-link s=20-, t=…- en twclid-parameters?
X voegt trackingparameters toe wanneer een link wordt gedeeld vanuit de mobiele app, wordt aangeklikt vanaf een trend of wordt geopend via apps van derden. De meest voorkomende zijn s (de deel-tijdstempel), t (een deel-nonce-token) en twclid (klikattributie van X-advertenties). Deze parameters veranderen niet waar de link naartoe gaat, alleen hoe de klik wordt toegeschreven – verwijderen is dus altijd veilig. De parser verwijdert ze automatisch en toont wat er is verwijderd, zodat de opschoning controleerbaar is.
Wat is het verschil tussen twitter.com- en x.com-links?
Geen qua inhoud – beide domeinen leveren dezelfde pagina's en verwijzen naar elkaar door. twitter.com is het oude domein van vóór 2023 en x.com is het huidige merk. De parser accepteert beide (plus mobiele subdomeinen zoals mobile.twitter.com) en geeft altijd de canonieke vorm op x.com, omdat X daar vandaag zelf naartoe verwijst.
Wat is een tweet-ID en waarom heeft die 15 tot 19 cijfers?
Elke tweet heeft een numerieke Snowflake-ID zoals 2089759704335482961. Het getal is niet willekeurig – het codeert de exacte milliseconde van plaatsing plus machine- en volgorde-bits (zie het hoofdstuk "Snowflake-ID's begrijpen"). De parser valideert de lengte en vorm van de ID, zodat hij nooit een ander getal voor een tweet-ID aanziet.
Waarom wordt een korte t.co-link als ongeldig gemarkeerd?
t.co-links zijn de officiële verkorters van X en hun bestemming is alleen te ontdekken door de doorverwijzing te volgen. Browsers kunnen de bestemming van een t.co-doorverwijzing niet lezen vanwege CORS-beperkingen, en een puur client-side parser doet per ontwerp geen netwerkverzoeken. Open de korte link één keer in je browser en kopieer de lange URL uit de adresbalk – de parser verwerkt die direct.
Waarom wordt een zoeklink zoals x.com/search?q=%23Gewitter een hashtagpagina?
Trends en hashtag-klikken op X genereren zoeklinks met een gecodeerde query zoals q=%23Gewitter in plaats van een schone hashtag-URL. Wanneer de query exact één hashtag is, normaliseert de parser die naar de canonieke hashtagpagina https://x.com/hashtag/Gewitter en verwijdert de herkomstparameters zoals src en vertical. Zuivere zoekopdrachten op trefwoorden blijven zoeklinks.
Stuurt deze tool mijn links naar X of naar een server?
Nee. De hele analyse vindt lokaal in je browser plaats, zonder netwerkverzoeken. De URL die je plakt, wordt alleen op je apparaat verwerkt – dat maakt de tool nuttig voor vertrouwelijke links of links vóór publicatie die je niet in logs van derden wilt zien.
ESC