Vad är Jämför text?
Jämför text är ett onlineverktyg som tar två texter och visar exakt vad som ändrats mellan dem. Klistra in den gamla versionen på ena sidan och den nya på andra, så lyser skillnaderna upp i färg. Grönt för tillägg, rött för borttagningar.
Det fungerar med vilken vanlig text som helst: stycken, kodavsnitt, konfigurationsfiler, kontraktsklausuler, översättningar. Rader som matchar förblir neutrala, så ögat går direkt till det som skiljer sig.
Använd det när du inte vill öppna ett skrivbordsverktyg men ändå vill ha ett exakt resultat med ett klick. Ingen registrering, ingen uppladdning, ingen logg över det du jämförde.
Vad det gör
Compare Text tar två texter och markerar det tillagda i grönt och det borttagna i rött. Arbetet sker tecken för tecken, så ett saknat kommatecken eller en omdöpt variabel syns tydligt. Motorn är Googles diff-match-patch-bibliotek (Apache 2.0). Den allmänna tekniken kallas diff, och det underliggande problemet (att hitta den minsta uppsättningen redigeringar mellan två strängar) reduceras till det klassiska longest common subsequence-problemet.
Motorn hanterar naturligt språk och kod lika bra — samma typ av angreppssätt som driver versionshistoriken i dokumentredigerare. Om du jämför strukturerad data i stället för prosa parsar vårt JSON-diff-verktyg först båda sidor och struntar i nyckelordningen: annat problem, annat verktyg.
Ingen server. Din text läses av JavaScript via FileReader-API:t, jämförs och resultatet ritas in i sidan. Du stänger fliken, det är borta.
Så jämför du två texter
Tre steg. Diffen uppdateras medan du skriver, ingen knapp att trycka på.
- 1
Lägg till originalet
Klistra in i den vänstra panelen eller klicka på Ladda upp för en .txt- eller .md-fil. Exempel sätter in en kort exempeltext.
- 2
Lägg till den nya versionen
Klistra in eller ladda upp till höger. När båda panelerna har innehåll syns borttagningar i rött till vänster och tillägg i grönt till höger.
- 3
Granska ändringarna
Skrolla ena sidan, båda panelerna håller sig synkroniserade. Rubriken visar antalet ändringar. Kopiera eller ladda ner någon av texterna.
När det är användbart
Fånga redline-ändringar i ett kontrakt
Klistra in V1 av ett leverantörsavtal till vänster och den markerade V2 till höger. Klausuler om skadestånd, betalning och uppsägning som tyst har ändrats kommer upp till ytan direkt. Användbart när motparten skickar en ren kopia utan spåra ändringar påslaget.
Korrekturläsa utkast och redigeringar
Jämför ditt utkast med redaktörens reviderade version, eller ditt blogginlägg före och efter en redigering. Varje ord som ändrats syns; du behöver inte läsa om hela texten för att hitta meningen som föll bort.
Granska en översättningsrunda
Original på ena sidan, översättarens revideringar på den andra. Se vilka uttryck som skrevs om och var redaktören slog tillbaka mot en ord-för-ord-översättning. Sparar en ny genomläsning av hela dokumentet när du litar på granskaren.
Diffa konfigurationsfiler
nginx.conf, systemd unit-filer, .env-mallar. Två versioner sida vid sida på sekunder. Snabbare än att starta diff i en terminal när båda filerna redan ligger i ditt urklipp från en chattråd.
Jämföra ögonblicksbilder av loggfiler
Gårdagens deploy-logg mot dagens, eller samma jobbs utdata från två CI-körningar. Stabila rader hamnar i bakgrunden och det nya felmönstret sticker fram. För loggar på flera MB, smalna av med grep först.
Snabbreferens för textdiff
Gränsfall som det här verktyget oftast lyfter fram, med resonemanget bakom.
| Ämne | Vad det här verktyget gör |
|---|
| Radslut | LF, CRLF och CR är olika tecken. En Windows-fil (CRLF) jämförd mot en Unix-fil (LF) ser ut som om varje rad är annorlunda. Normalisera till LF i båda källorna eller ta bort vagnreturerna före jämförelsen. |
|---|
| Avslutande blanksteg | Visas som en riktig skillnad: markeringen sträcker sig förbi det synliga tecknet. Användbart för att fånga avslutande blanksteg i YAML eller CSV som tyst bryter parsare. |
|---|
| Unicode-normalisering | café med ett förkomponerat é (U+00E9) är ett tecken; den dekomponerade formen e + kombinerande accent (U+0301) är två. De renderas identiskt men diffar olika. Tillämpa Unicode Normalization Form C via String.prototype.normalize() för att få dem att matcha. |
|---|
| Matchningsgranularitet | Teckennivå under huven, med en semantisk rensningspass som grupperar ändringar vid ordgränser när den kan. Det är därför korta vanliga ord ibland ser matchade ut i annars orelaterade texter. |
|---|
| Filkodning | Uppladdade filer läses som UTF-8 via FileReader API. Andra kodningar visas förvrängda. Konvertera i förväg eller klistra in från ett verktyg som redan har avkodat filen. |
|---|
| Stora indata | Upp till några hundra KB är subsekund. 1–2 MB känns märkbart långsammare. Förbi 5 MB är renderingen, inte själva diff-algoritmen, flaskhalsen. Smalna av före inklistring. |
|---|
| Tom sida | Om en panel är tom visas den andra sidan helt som tillägg (eller borttagning). Det är diffen som beter sig korrekt, inte ett fel. |
|---|
| Identiska indata | När båda sidor matchar exakt (inklusive mellanslag, radslut och Unicode-form) är det noll ändringar och rubrikerna visar ingen räknare. |
|---|
Vanliga frågor
Sparas min text?
Nej. Hela jämförelsen körs i din webbläsare. Inget skickas till en server, loggas eller sparas. Öppna DevTools och titta på Network-fliken: det går inga utgående anrop när du jämför. Stäng fliken och din text är borta.
Vad är skillnaden mellan det här och en JSON-diff?
En textdiff jämför tecken i ordning, så att flytta om nycklar i JSON eller ändra mellanslag dyker upp som skillnader även när datan är identisk. Om du jämför specifikt JSON, använd verktyget Compare JSON: det parsar båda sidor först och är ordningskänsligt. För prosa, konfigurationer, vanlig kod eller allt som inte är strukturerad data är textdiff det du vill ha.
Hanterar det Windows- vs Unix-radslut (CRLF vs LF)?
Det jämför dem som de är, så en Windows-fil (CRLF) inklistrad mot en Unix-fil (LF) ser ut som om varje rad skiljer sig även när innehållet matchar. Det är diffen som fungerar korrekt: indatan är verkligen olika. För att fixa det, normalisera radsluten i båda källorna eller ta bort vagnreturerna innan du klistrar in.
Finns det en storleksgräns?
Praktisk gräns är minnet i din enhet. Texter upp till några hundra KB diffas långt under en sekund. Förbi 1 MB börjar webbläsaren känna det, mest för att rendera markeringarna blir dyrt. För enorma loggfiler eller bokmanus, smalna av till den del du faktiskt bryr dig om först.
Varför ser diffen ibland fragmenterad ut?
Diff på teckennivå radar upp korta gemensamma delsträngar (the, a, enskilda bokstäver, skiljetecken) där det kan. En semantisk rensningspass grupperar dem i bitar på ordnivå där det går, men två orelaterade stycken ger ändå ett fragmenterat resultat. Algoritmen kan inte veta när två texter inte är tänkta att jämföras.
Kan jag jämföra filer i olika teckenkodningar?
Filer som laddas via uppladdningsknappen läses som UTF-8 (FileReaderns standard). Filer i andra kodningar (Latin-1, Shift-JIS, Windows-1252) ser förvrängda ut; konvertera dem till UTF-8 först. För text som redan ligger i ditt urklipp har operativsystemet löst kodningen innan du klistrade in, så det fungerar oftast utan vidare.