Det korta svaret
RoundCut kör varje verktyg i din webbläsare med hjälp av två webbläsarnatiga API:er: HTML5 Canvas API för operationer på pixelnivå, och WebAssembly för det tyngre arbetet — kodning/avkodning av bildformat och AI-inferens. Ingenting laddas upp. Ingenting behandlas på våra servrar, eftersom vi inte driver servrar som rör dina filer.
Du kan verifiera det på ungefär 30 sekunder: öppna webbläsarens DevTools, byt till nätverksfliken, rensa loggen och använd ett valfritt verktyg. De enda nätverksbegäranden du ser är för statiska webbplatsfiler — HTML, CSS, JavaScript, typsnitt och WebAssembly- modulerna. Din bild lämnar aldrig sidan.
Varför klientsidan
De flesta bildverktyg online fungerar tvärtom: du laddar upp, en server bearbetar, du laddar ner resultatet. Den modellen har ett par välkända nackdelar — din fil finns på någon annans maskin, du väntar på tur och retur två gånger, och operatören betalar per CPU-sekund, vilket är anledningen till att dessa tjänster tenderar att lägga till konton, vattenstämplar eller betalplaner.
Webbläsare har kunnat utföra det mesta av det här arbetet nativt i flera år. Elementet
<canvas> hanterar beskärning, rotation, storleksändring och ny kodning;
WebAssembly låter oss köra samma C/Rust-bibliotek MozJPEG, libwebp, libavif och Oxipng
som Squoosh använder, med nästan nativ hastighet. När vi lanserade 2026 års version hade
webbläsaren effektivt ikapp datorbildredigeringsverktygen. Det fanns inte längre
någon anledning att involvera en server.
Resultatet är en stack med tre egenskaper som förstärker varandra: integritet (din fil lämnar aldrig din enhet), hastighet (ingen uppladdning, ingen kö, ingen tur och retur till servern) och kostnad (vi levererar statiska filer från ett CDN för ett par öre i månaden, oavsett hur många som använder verktygen).
Pipeline:n, steg för steg
1. Du väljer en fil
När du väljer en bild — via filväljaren, dra och släpp eller klistra in — skickar
webbläsaren ett File-objekt till JavaScript. JavaScript läser byten
med FileReader- eller Blob.arrayBuffer()-API:t. Vid inget
tillfälle i det här steget skickas filen via nätverket.
2. Webbläsaren avkodar bilden
Moderna webbläsare kan nativt avkoda JPG, PNG, WebP, GIF, AVIF och (i Safari och
nyligen Chromium) HEIC. Vi använder createImageBitmap() för att omvandla rå
bytes till en bitmapp som GPU:n kan arbeta med, utanför huvudtråden. För HEIC i webbläsare
som inte avkodar det nativt, faller vi tillbaka på en WebAssembly-avkodare som körs
lokalt i din webbläsare.
3. Verktyget gör sitt jobb
Vad som händer härnäst beror på verktyget. RoundCut levererar för tillfället tre:
- Circle Crop — en Canvas 2D-pixelomvandling med en cirkulär klippbana. Bitmappen ritas in i ett
<canvas>vid vald rotation och zoom, den cirkulära klippningen tillämpas och insidan av cirkeln läses tillbaka somImageData. Cropper.js hanterar den interaktiva beskärningsramen. - Compress — kodar om JPG, PNG, WebP eller AVIF med WebAssembly-modulerna i jSquash (MozJPEG, libwebp, libavif, Oxipng). Det är samma uppströms-kodekar som Squoosh använder. De körs i en
Web Workerså att gränssnittet förblir responsivt medan ett foto med många megapixlar kodas, och en förhandsgranskning sida vid sida låter dig se avvägningen innan du bekräftar. - Remove Background — en liten AI-modell i ONNX-format (ett par MB, nedladdad en gång och cachad) körs i din webbläsare via ONNX Runtime Web, med WebAssembly som körnings-backend. Första körningen laddar ner modellen; varje körning därefter är lokal och omedelbar.
4. Du laddar ner resultatet
Utmatningsbitmappen kodas till en Blob, lindas in i en
object URL och erbjuds till webbläsarens standarddialog för att spara filer.
Där det stöds använder vi File System Access API
så att du kan välja målmapp direkt. Filen visas på din disk; ingenting
passerar en server.
Hur du verifierar det själv
Påståendet “ingen uppladdning” är kontrollerbart på två minuter. Välj vilken av dessa metoder du vill:
Metod 1 — Titta på nätverksfliken
- Öppna RoundCut i en ny flik.
- Öppna DevTools (F12 eller högerklick → Inspektera) och byt till fliken Network.
- Klicka på knappen “rensa” i nätverksfliken för att börja om.
- Använd ett valfritt verktyg: ladda upp en bild, redigera den, ladda ner resultatet.
- Titta på nätverksloggen. Du ser begäranden för HTML, CSS, JS, typsnitt och (vid första användning av ett tyngre verktyg) den relevanta WebAssembly-modulen. Du ser inga begäranden som innehåller byten i din bild.
Kolumnen “Initiator” berättar vilket skript som utlöste varje begäran, och kolumnen “Type” berättar vad som skickades. Filtrera på “Fetch/XHR” för att fokusera på databegäranden; du ser att alla är små, alla är till det statiska ursprunget och inga innehåller din fil.
Metod 2 — Använd verktygen offline
- Läs in en valfri RoundCut-verktygssida. Använd den en gång för att säkerställa att relevanta WebAssembly-moduler är cachade.
- Öppna DevTools, gå till nätverksfliken och markera kryssrutan Offline (eller stäng av Wi-Fi).
- Ladda om sidan. Den läser ändå in sig, eftersom webbläsaren har cachat de statiska filerna.
- Använd verktyget igen, från start till slut. Det fungerar fortfarande.
Om verktyget fungerade offline, kontaktade det per definition ingen server under körningen. Det är det starkast möjliga beviset — arbetet skedde på din maskin eftersom ingen annan maskin var nåbar.
Vad vi ser
För att vara tydliga med vad som samlas in: när du laddar en sida registrerar vår analysprovider (Cloudflare Web Analytics) att en webbläsare laddade den URL:en från ett land. Inga cookies, inga beständiga identifierare, ingenting kopplat till en person.
För verktyg som laddar ned en WebAssembly-modul vid första användning (jSquash-kodekar, ONNX- bakgrundsborttagningsmodellen) ser vår hostingleverantör att någon hämtade modulen — på samma sätt som den ser någon hämta CSS-filen. Modulen i sig innehåller ingen information om din bild.
Den fullständiga datainventeringen finns i vår integritetspolicy.
Teknikstacken
För de nyfikna — här är vad RoundCut är byggt på:
- Astro — statisk webbplatsgenerator. Varje sida levereras som vanlig HTML med progressivt förbättrade JavaScript-”islands” bara där interaktiva verktyg finns.
- Vanilla CSS med anpassade egenskaper — ingen Tailwind, inget CSS-in-JS. Hela designsystemet är en enda fil
tokens.css. - jSquash — WebAssembly-bindningar till MozJPEG, libwebp, libavif och Oxipng för bildkodning.
- Cropper.js — interaktionslagret för beskärningsrektangeln för beskärningsverktygen.
- ONNX Runtime Web — kör bakgrundsborttagningsmodellen i din webbläsare via WebAssembly.
- Cloudflare Pages — är värd för den statiska builden, levererar den från edge och tillhandahåller DNS och DDoS-skydd.
- Cloudflare Web Analytics — aggregerat, cookie-fritt sidvisningsräkning.
Webbläsarstöd
Alla verktyg fungerar i den aktuella och föregående versionen av Chrome, Firefox, Safari
och Edge — dator och mobil. Webbplatsen använder progressiv förbättring: där en
webbläsare stöder ett nyare API (t.ex. showSaveFilePicker,
OffscreenCanvas), använder vi det; där inte, faller vi tillbaka på
det äldre alternativet. Det finns ingen “din webbläsare stöds inte”-vägg.
Det enda hårda kravet är JavaScript. Med JavaScript inaktiverat kan verktygen inte köras — det finns ingen server-side-reserv eftersom det inte finns någon server som utför bildbehandling.
Frågor
Något vi inte täckt? Maila oss på support@araluma.com. Tekniska frågor är välkomna.