JXL naar TXT omzetten

Hier zet je JXL naar TXT om, gratis en zonder account: sleep het bestand hierboven erin en binnen een paar seconden staat het resultaat klaar om te downloaden. De omzetting gebeurt binnen je eigen browser, dus het bestand wordt nooit geüpload. Het werkt hetzelfde op Windows, macOS en Linux als op iPhone en Android, en het blijft werken als je de verbinding verbreekt.

  • Waar het draait In je browser. Het bestand wordt nooit geüpload.
  • Opnieuw opgebouwd TXT werkt anders dan JXL. Het is dus niet het geleidelijke kwaliteitsverlies van een lossy codec: wat TXT kan uitdrukken wordt getrouw weergegeven, en wat daar geen equivalent heeft blijft helemaal weg.
  • Maximale grootte Tot 100 MB per bestand, gratis en zonder account.
  • Goed om te weten De tekst wordt gelezen door patroonherkenning, dus het is een beredeneerde gok en geen transcriptie. Schone, rechte, goed belichte letters op een fatsoenlijke resolutie komen er bijna perfect uit; een schuin genomen foto, een vage fax, een ongebruikelijk lettertype of handschrift levert fouten op. Lees het resultaat altijd naast het origineel voordat je erop vertrouwt. De taalinstelling doet ertoe: met de verkeerde krijg je zelfverzekerde onzin terug in plaats van een foutmelding.

Tot 100 bestanden tegelijk. Verschillende formaten door elkaar is prima.

Dit is herkenning, geen omzetting vanuit JPEG XL

Elk ander paar op deze site neemt een bestand en schrijft hetzelfde bestand in een andere vorm. Dit doet iets wezenlijk anders: het kijkt naar een afbeelding en schrijft op wat het denkt dat de afbeelding zegt. Er is geen afbeelding van een JPEG XL naar een tekstbestand, want een tekstbestand kan geen beeld bevatten en een beeld bevat geen tekens — alleen vormen die op tekens lijken.

Daarom heet de uitvoer een gok in plaats van een resultaat. Een converter werkt of geeft een fout; een herkenner geeft tekst terug die op tekst lijkt, of die nu klopt of niet. Alles hieronder gaat over het verkleinen van dat gat, en de nuttigste gewoonte is de uitvoer naast het origineel te lezen voordat je erop vertrouwt.

Waarom je tekst in een JPEG XL vastzit

JPEG XL verloor de browserstrijd, maar niet overal, en de plekken waar het overleefde zijn precies de plekken waar documenten leven. De registry noemt archivering en fotografie als toepassingen, en archivering is de eerlijke reden: digitaliseringsprojecten kozen ervoor omdat het verliesvrij goed doet, hoge bitdieptes aankan, en een gescande pagina in minder bytes opslaat dan iets van PNG’s generatie.

De andere gangbare route is Apple. Safari ondersteunt JPEG XL sinds versie 17, dus een bestand dat vanaf het web op een Mac of iPhone wordt bewaard, kan als .jxl aankomen zonder dat iemand ervoor koos. In beide gevallen koos degene die hier terechtkomt niet zelf het formaat — hij kreeg een pagina met woorden verpakt in een beeldformaat en wil de woorden.

De herkenner krijgt het JPEG XL-bestand zelf aangeboden

Elk ander beeldpad op deze site decodeert het bestand eerst naar pixels. Dit doet dat niet: het bestand gaat als het is naar de herkenningsengine, omdat die engine zijn eigen loader heeft, en het beeld door een canvas duwen zou transparantie afvlakken tot zwart — wat op een scan van wit papier het verschil is tussen leesbaar en onleesbaar.

Het gevolg is dat je browser hier helemaal geen rol in speelt. Het bestand wordt gelezen tot ruwe bytes en rechtstreeks doorgegeven aan de herkenner, dus de enige decoders die erop kunnen werken zijn de zes die in de herkenningsengine zijn ingebouwd: BMP, JPEG, PNG, PBM, WebP en niet-geanimeerde GIF. JPEG XL is daar geen van, en nergens in de WebAssembly-kern die deze site levert bestaat een JPEG XL-decoder.

Dus de werkende route is JXL naar PNG, en dan PNG naar tekst

Deze pagina zei ooit dat het lezen van een JXL afhing van de browser, met Safari als de browser waar het zou werken. Dat was onjuist, en het is beter dat rechtstreeks te corrigeren dan stilzwijgend: Safari toont JPEG XL sinds versie 17, maar de herkenner vraagt de browser nooit om iets te tonen, dus Safari faalt hier precies zoals Chrome dat doet. Niets wat je in je browser verandert, laat de eenstapsversie werken.

Wat wel werkt, is één extra omzetting. Zet de JXL hier eerst om naar PNG, en lees dan de tekst uit die PNG. Die eerste stap heeft zijn eigen naar WebAssembly gecompileerde JPEG XL-decoder in plaats van de browser om er een te vragen, dus die draait in Chrome hetzelfde als in Safari. PNG is het juiste tussenformaat: het is verliesvrij, dus elke lijn die de herkenner nodig heeft blijft behouden, waar JPEG de letters opnieuw zou comprimeren zonder enig voordeel. De PNG is een tussenstap — verwijder hem zodra je de tekst hebt.

Vier talen, en de verkeerde faalt niet

Engels, Duits, Frans en Spaans hebben modellen beschikbaar, en de instelling is in de praktijk niet vrijblijvend. De herkenner vergelijkt vormen met de letters en de woordenschat van één taal tegelijk, dus een Franse pagina gelezen als Engels geeft geen foutmelding — het geeft vloeiend ogende onzin, omdat elke vorm werd gekoppeld aan het dichtstbijzijnde ding in het verkeerde woordenboek.

Het maakt het meeste uit bij tekens met accenten en bij gemengde inhoud. Een Duits document met Engelse vaktermen erin leest beter met Duits geselecteerd dan met beide geraden, omdat het model net zo goed tussen kandidaat-woorden kiest als tussen kandidaat-letters. Stel de taal in vóór je omzet; achteraf is aan de uitvoer alleen niet te zien dat het fout stond.

Resolutie bepaalt of een JPEG XL-scan leesbaar is

Herkenning heeft genoeg pixels per teken nodig, en dat is de variabele die het verschil maakt tussen een bijna perfect resultaat en een onbruikbaar resultaat. Een pagina gescand op 300 dpi heeft ruim voldoende. Een foto van een pagina vanaf de andere kant van een bureau, een screenshot verkleind om in een document te passen, of een afbeelding die een chat-app onderweg opnieuw comprimeerde, mogelijk niet.

De afbeelding achteraf vergroten helpt niet. Opschalen voegt pixels toe zonder informatie toe te voegen en maakt het resultaat meestal slechter door de letters te verzachten die de herkenner probeert te matchen. Als een resultaat matig terugkomt, ligt de oplossing stroomopwaarts: opnieuw scannen op hogere resolutie, de pagina van dichterbij en recht fotograferen, of het origineel zoeken in plaats van de kopie die is doorgestuurd. Hoek is de andere helft van hetzelfde probleem — een pagina schuin van boven gefotografeerd geeft elke regel een lichte kromming en elk teken een lichte scheefstand, en de herkenner heeft geen model van perspectief om dat ongedaan te maken.

De TXT is woorden in leesvolgorde en verder niets

Een tekstbestand heeft geen kolommen, geen cellen, geen lettertype en geen positie. Wat je krijgt zijn de tekens die de herkenner vond, in de volgorde waarin hij ze las, en dat is een echt verlies van structuur, geen opmaakvoorkeur. Een tabel komt terug als een reeks waarden zonder de kolommen, en een pagina met twee kolommen kan door elkaar lopen.

De regeleinden blijven precies zoals ze werden gezien, zonder poging om afgebroken regels samen te voegen of lege regels weg te halen. Dat oogt slordig en is bewust: een gedicht, een adresblok en een tabel verliezen alle drie betekenis als hun regeleinden worden opgeschoond, en een converter kan niet weten welke van de drie hij bekijkt.

De herkenner kan zelfverzekerd fout zijn over je JPEG XL

De typerende mislukking is geen brij die je meteen opvalt. Het is een enkele plausibele verwisseling in een getal of naam — een 5 gelezen als een S, een 1 als een kleine letter l, een nul als een hoofdletter O — midden in een alinea die verder perfect is. Referentienummers, rekeningnummers, data en prijzen zijn waar dit echte schade aanricht, omdat ze precies de tekenreeksen zijn zonder context om zichzelf te corrigeren.

De praktische regel is dus alles na te lezen waarop gehandeld gaat worden, in plaats van wat alleen gelezen wordt. Een teruggewonnen alinea doorlopen op betekenis vangt de duidelijke fouten; een rekeningnummer teken voor teken controleren is het enige dat de gevaarlijke fout vangt. Code en opdrachtregels dragen hetzelfde risico scherper, omdat de tekens die daar het meest tellen precies de tekens zijn die op elkaar lijken.

Het traagste onderdeel van de site, en waar de tijd naartoe gaat

Tekstherkenning is met afstand het traagste onderdeel hier. De eerste omzetting moet ook eerst de WebAssembly-kern en het taalmodel ophalen voordat hij kan beginnen, dus de eerste run voelt aanzienlijk trager dan de volgende — het model blijft geladen voor de rest van de sessie.

De voortgangsbalk volgt bewust alleen de herkenning zelf, niet het downloaden en initialiseren, omdat een balk die volloopt terwijl er nog niets gelezen is en dan stilstaat erger is dan een balk die laat begint maar wel iets betekent. Eén pagina duurt seconden. Een map ervan duurt seconden per stuk, na elkaar, op je eigen processor.

Niets van de JPEG XL verlaat je browser

De herkenningsengine, de WebAssembly-kern en alle vier de taalmodellen worden vanaf de eigen oorsprong van deze site geleverd. Dat was werk, geen standaardgedrag: de bibliotheek haalt alle drie standaard van een publiek CDN, tenzij elk pad is overschreven, wat drie verzoeken naar een externe partij zou betekenen met je adres en de URL van de pagina waarop je zit.

De afbeelding zelf zou sowieso nooit zijn verstuurd, maar iemand die een loonstrook leest, hoeft niet aan een contentnetwerk gemeld te worden dat hij dat doet. Er is een test in de codebase die faalt zodra een CDN-URL terugkeert, omdat een zo handige standaard bij de volgende upgrade terug kan komen.

Zo zet je JXL naar TXT om

  1. Sleep je JXL-bestand op deze pagina, of klik om er een te kiezen.
  2. Kies TXT als doel. De omzetting gebeurt in je browser en het bestand wordt niet geüpload.
  3. Download het klare TXT-bestand.

JXL of TXT: wat er verandert

JXL vergeleken met TXT
JXLTXT
Volledige naamJPEG XLPlatte tekst
Bestandsextensie.jxl.txt, .text, .log
Mediatypeimage/jxltext/plain
CompressieHet een of het ander, afhankelijk van de instelling
Voor het eerst gepubliceerd20211963
Uitgegeven doorJoint Photographic Experts Group
SpecificatieISO/IEC 18181Unicode
LicentieOpen standaardOpen standaard
Stand van zakenNicheActueel
Bitdiepte32
Kleur die het kan beschrijvenRGB, grijswaarden, breed gamut
Opent in een browserSommige browsersElke browser
In plaats daarvan overwogenAVIF, WebP, PNGMD, RTF

Wat het doelformaat erbij kan

TXT is een werkformaat en JXL een af formaat. Wat terugkomt is bewerkbare tekst in plaats van een afbeelding van de pagina, meestal de reden voor de omzetting en tegelijk haar grens.

Het resultaat openen

TXT opent in elke actuele browser. JXL komt nog minder ver. Gaat het bestand naar een webpagina of een formulier, dan is dat meestal de hele reden voor de omzetting.

De gebruikelijke programma's overlappen niet: JXL open je in GIMP en ImageMagick, TXT in Notepad, TextEdit en Visual Studio Code — wie het resultaat krijgt, heeft dus iets uit de tweede rij nodig.

Waarvoor elk formaat bedoeld is

JXL is het formaat van Joint Photographic Experts Group, verschenen in 2021. Er wordt met 32 bits per kanaal vastgelegd.

TXT stamt uit 1963, vastgelegd in Unicode. Notepad, TextEdit en Visual Studio Code lezen het formaat.

TXT verscheen in 1963 en JXL in 2021. Het oudste is doorgaans het veiligste bestand om te overhandigen; het nieuwste doet hetzelfde werk met minder bytes.

Van JXL naar TXT: veelgestelde vragen

Wordt mijn JXL-bestand ergens heen geüpload?

Nee. Deze omzetting gebeurt volledig in je browser, dus het bestand verlaat je apparaat niet. Je kunt het zelf nagaan: open het netwerktabblad van de ontwikkelaarshulpmiddelen en zet iets om. Je ziet de pagina zelf en de verzoeken voor statistiek en advertenties waarmee deze dienst betaald wordt, en geen enkel verzoek dat je bestand meeneemt. De motor achter juist dit paar is Tesseract, de opensource-tekstherkenning; je browser haalt die één keer op en bewaart hem.

Is JXL naar TXT omzetten gratis?

Ja. Geen account, geen watermerk en geen dagtegoed dat opraakt: het draait op je eigen machine, dus je mag zo vaak terugkomen als je wilt. De browser verwerkt bestanden tot 100 MB, 100 tegelijk. Tesseract wordt naar je eigen machine gehaald en draait daar, en daarom staat er geen teller op.

Gaat er kwaliteit verloren bij het omzetten van JXL naar TXT?

JXL en TXT beschrijven de inhoud op fundamenteel andere manieren. De omzetting is daarom een reconstructie en geen kopie: getrouw, maar niet byte voor byte identiek. De tekst wordt gelezen door patroonherkenning, dus het is een beredeneerde gok en geen transcriptie. Schone, rechte, goed belichte letters op een fatsoenlijke resolutie komen er bijna perfect uit; een schuin genomen foto, een vage fax, een ongebruikelijk lettertype of handschrift levert fouten op. Lees het resultaat altijd naast het origineel voordat je erop vertrouwt. De taalinstelling doet ertoe: met de verkeerde krijg je zelfverzekerde onzin terug in plaats van een foutmelding.

Is het TXT-bestand daarna bewerkbaar?

TXT is een werkformaat en JXL een af formaat. Wat terugkomt is bewerkbare tekst in plaats van een afbeelding van de pagina, meestal de reden voor de omzetting en tegelijk haar grens.

Meer over deze formaten