Tilbake til blogg
15. januar 2024 • 11 min lesing

Bilder og Grafikk for Nettside - En Komplett Guide

Fra kameraet til nettsiden: Alt om bildeformat, komprimering, responsive images og SEO-optimalisering. Lær hvordan du får bildene til å laste raskt uten å miste kvalitet.

Hvorfor bildene dine er viktigere enn du tror

Statistikk du må vite:

  • Bilder utgjør 50-70% av total sidevekt på en gjennomsnittlig nettside
  • 47% av brukere forventer at en side laster på under 2 sekunder
  • 40% forlater en side som tar mer enn 3 sekunder å laste
  • Google rangerer sider med raskere lastetid høyere i søkeresultatene

Bilder er essensielle for moderne webdesign - de fanger oppmerksomhet, kommuniserer budskap raskere enn tekst, og skaper emosjonell tilknytning til merkevaren din. Men de kan også være din verste fiende når det gjelder ytelse.

I denne guiden lærer du alt du trenger for å få bildene til å jobbe for deg, ikke mot deg. Vi dekker alt fra formatvalg og komprimering til responsive images, lazy loading, og SEO-optimalisering.

Hva du lærer i denne guiden:

Velge riktig bildeformat (WebP, AVIF, SVG)
Komprimere uten kvalitetstap
Implementere responsive images
Sette opp lazy loading
Skrive perfekte alt-tekster
Bruke CDN for raskere levering

Bildeformater Forklart - Hvilket skal du velge?

Det finnes hundrevis av bildeformater, men for web er det egentlig bare 5-6 du trenger å bry deg om. Her er den komplette oversikten:

FormatStøtteFordelerUlemperBruk til
WebP
Anbefalt
96%25-35% mindre enn JPEG ved samme kvalitet. Transparency. Lossy og lossless.Begrenset støtte i Internet Explorer (men ingen bryr seg)Alt (med JPEG fallback)
AVIF
Fremtiden
82%50% mindre enn JPEG! Utrolig komprimering. HDR support.Treg encoding. Ikke Safari før 2023.Progressive enhancement
JPEG
Klassiker
100%Universal støtte. God for foto. Enkelt å komprimere.Lossy (mister data). Ingen transparency. Større filer.Fallback for WebP/AVIF
PNG
Transparency
100%Lossless. Transparency. Perfekt for logo/grafikk.2-5x større enn JPEG for foto. Treg komprimering.Logo, ikoner, grafikk
SVG
Vektor
99%Vektor (skalerer perfekt). Tiny filer. CSS/JS animerbart.Ikke for foto. Komplekse illustrasjoner blir store.Ikoner, logo, illustrasjoner
GIF
Unngå
100%Animasjoner. Universal støtte.Kun 256 farger. ENORME filer. Dårlig kvalitet.Bruk MP4/WebM i stedet

Anbefalt strategi 2025

1.Foto/Komplekse bilder: WebP med JPEG fallback (eller AVIF > WebP > JPEG)
2.Logo/Ikoner: SVG først, PNG fallback hvis nødvendig
3.Grafikk med transparency: WebP eller PNG-8 (redusert fargepalett)
4.Animasjoner: MP4/WebM video i stedet for GIF (10x mindre!)

Vanlige feil å unngå

Bruke PNG for alle bilder (enorme filer)
Bruke GIF for animasjoner (bruk video i stedet)
Bruke bitmap (PNG/JPEG) for logo (bruk SVG)
Ikke tilby fallback for nye formater (AVIF, WebP)

Optimalisering & Komprimering - Få små filer uten kvalitetstap

Gylne regel:

"En bilde på 2 MB som ser fantastisk ut er verdiløst hvis ingen venter på at det skal laste. Et bilde på 50 KB som ser nesten like bra er gull verdt."

Optimaliserings-Checklist

1

Riktig størrelse (dimensjoner)

Ikke last opp 4000x3000px bilde hvis det aldri vises større enn 800x600px. Resize før komprimering.

Anbefalt maks-størrelser:

  • • Hero-bilde (full bredde): 2400px bred
  • • Content-bilde (halvparten av siden): 1200px bred
  • • Produktbilde: 800-1200px bred
  • • Thumbnail: 400px bred (200px visning × 2 for Retina)
2

Komprimer med riktig kvalitet

Menneskeøyet ser ikke forskjell mellom 100% og 80% kvalitet, men filstørrelsen er 50-70% mindre.

Anbefalte kvalitetsinnstillinger:

  • JPEG: 80-85% kvalitet (maks 90% for viktige bilder)
  • WebP: 75-85% kvalitet
  • PNG: Reduser til 256 farger hvis mulig (PNG-8)
  • AVIF: 60-75% kvalitet (bedre komprimering)
3

Fjern metadata

EXIF-data fra kamera (GPS, kameramodell, etc.) kan utgjøre 10-50 KB per bilde. Strip alt unntatt fargeprofile.

De fleste optimiseringsverktøy (TinyPNG, Squoosh) gjør dette automatisk. For manuell kontroll: bruk exiftool -all= bilde.jpg

4

Test før og etter

Alltid sammenlign original vs optimalisert visuelt. En 300 KB bilde som ser elendig ut er ikke verdt det.

Bruk Squoosh.app for side-by-side sammenligning med zoom. Sjekk spesielt detaljer som tekst, skarpe kanter, og gradienter.

Målstørrelser for ulike bildetyper

< 200 KB
Hero / Hovedbilde
Full bredde, above fold
< 100 KB
Produktbilde
Gallerier, grid-layouts
< 30 KB
Thumbnail
Små forhåndsvisninger

Pro tip: En komplett nettside (forside) bør ha < 2 MB totalt bildevolum. Hver ekstra 100 KB øker bounce rate med ~1%.

Responsive Images - Ett bilde, flere størrelser

Problem:

Samme 2000px hero-bilde lastes på både desktop (2560px skjerm) og mobil (375px skjerm). Mobilen sløser 80% av dataen på piksler den aldri viser.

Responsive images lar deg tilby flere versjoner av samme bilde i ulike størrelser, og nettleseren velger automatisk den mest passende basert på skjermstørrelse, oppløsning (Retina), og båndbredde.

Implementering med srcset

<img
  src="hero-800.webp"
  srcset="
    hero-400.webp 400w,
    hero-800.webp 800w,
    hero-1200.webp 1200w,
    hero-2400.webp 2400w
  "
  sizes="
    (max-width: 640px) 100vw,
    (max-width: 1024px) 90vw,
    1200px
  "
  alt="Bergen skyline ved solnedgang"
  loading="lazy"
/>

srcset forklart

Definerer hvilke bildestørrelser som er tilgjengelige. 400w betyr "dette bildet er 400px bredt".

Nettleseren beregner: "Skjermen er 375px bred, DPR er 2 (Retina), så jeg trenger 750px bilde. Jeg velger 800w-versjonen."

sizes forklart

Forteller nettleseren hvor stort bildet vil vises på siden.

"(max-width: 640px) 100vw" = "På skjermer under 640px, vises bildet i full bredde (100% av viewport)"

Next.js Image Component (anbefalt)

Next.js sitt <Image /> komponent gjør alt dette automatisk + lazy loading, WebP konvertering, og blur placeholder:

import Image from 'next/image';

<Image
  src="/hero.jpg"
  width={1200}
  height={600}
  alt="Bergen skyline ved solnedgang"
  priority // For above-fold images
  placeholder="blur"
  blurDataURL="data:image/..." // Tiny placeholder
/>
Hva du får gratis: Automatisk srcset, WebP/AVIF konvertering, lazy loading, blur placeholder, size optimization, og mer.

Lazy Loading - Last kun det brukeren ser

Resultat:

En side med 50 bilder laster bare de 3-5 som er synlige ved første besøk. De resterende 45 laster først når brukeren scroller dit. 60-80% raskere lastetid.

Implementering (Native)

Moderne browsere støtter lazy loading innebygd. Legg bare til loading="lazy":

<!-- Lazy load (default for under fold) -->
<img
  src="product.webp"
  alt="Produkt beskrivelse"
  loading="lazy"
  width="800"
  height="600"
/>

<!-- Eager load (for above fold / critical images) -->
<img
  src="hero.webp"
  alt="Hero bilde"
  loading="eager"
  width="1200"
  height="600"
/>

Når du skal bruke lazy loading

  • Alle bilder under fold (ikke synlig ved load)
  • Bildekarruseller (slide 2+)
  • Produktgallerier med mange bilder
  • Bloggartikler med inline-bilder

IKKE lazy load disse

  • Hero-bilder / above fold bilder
  • Logo i header/navigation
  • Kritiske UI-elementer (ikoner i meny)
  • LCP-kandidater (Largest Contentful Paint)

Alt-tekst & SEO - Slik rangerer bildene dine

Alt-tekst (alternativ tekst) tjener to formål:
1. Tilgjengelighet: Skjermlesere leser alt-teksten for synshemmede brukere
2. SEO: Google "ser" bildet gjennom alt-teksten og bruker det til å rangere bilder i bildesøk

Anatomi av perfekt alt-tekst

God alt-tekst

alt="Moderne kjøkken i Bergen med hvite skap, marmorbenkeplater og utsikt mot Fløyen"
  • • Beskrivende og spesifikk
  • • Inkluderer relevant kontekst (Bergen, Fløyen)
  • • Naturlig inkludert nøkkelord (kjøkken, Bergen)
  • • Under 125 tegn

Dårlig alt-tekst

alt="IMG_4523.jpg"

→ Filnavn er ikke beskrivende

alt="kjøkken"

→ For generisk, ingen kontekst

alt="Beste kjøkken Bergen kjøp kjøkken billig kjøkken Bergen"

→ Keyword stuffing (Google straffer dette)

Alt-tekst formelen

[Hva] + [Handling/Tilstand] + [Kontekst] + [Nøkkelord (naturlig)]

Eksempel 1:

Kvinne som jobber på laptop i moderne kontorlokale i Bergen sentrum

Eksempel 2:

Elektrisk bil Tesla Model 3 som lader ved ladestajon i Bergen

SEO beste praksis for bilder

Filnavn: Bruk beskrivende filnavn (kjokken-bergen-moderne.webp ikke img123.webp)
Title attributt: Legg til title for tooltip (frivillig men bra)
Context: Omring bilder med relevant tekst (hjälper Google forstå kontekst)
Image sitemap: Legg til bilder i XML sitemap for bedre indexering

CDN & Leveranse - Raskere lasting over hele verden

Et CDN (Content Delivery Network) er et nettverk av servere rundt om i verden som cacher bildene dine. Når en bruker i Bergen laster siden din, henter CDN bildet fra nærmeste server (f.eks. Stockholm) i stedet for fra din origin-server (f.eks. USA).

Resultat:

40-80% raskere bildehasting for brukere langt fra origin-serveren. Bonus: Automatisk formatkonvertering (WebP, AVIF) basert på browser.

Anbefalte CDN-tjenester

CF

Cloudflare

Gratis tier med global CDN. Image Resizing krever Pro ($20/mnd).

Gratis SSL, DDoS protection, Analytics
CL

Cloudinary

Spesialisert på bilder. Gratis: 25 GB/mnd. Automatisk optimalisering.

Best-in-class image transformations
VC

Vercel

Automatisk for Next.js apps. Gratis for hobby, $20/mnd Pro.

Zero config for Next.js Image component

CDN URL med transformasjoner (Cloudinary eksempel)

https://res.cloudinary.com/demo/image/upload/
  w_800,         // Width: 800px
  h_600,         // Height: 600px
  c_fill,        // Crop mode: fill
  f_auto,        // Format: auto (WebP, AVIF)
  q_auto,        // Quality: auto
  /sample.jpg

CDN gjør alt on-the-fly: resize, crop, format conversion, quality optimization. Du trenger bare å endre URL.

Verktøy & Ressurser

Komprimeringsverktøy

TinyPNG

Enkleste verktøyet. Drag & drop. 70% komprimering. Gratis.

tinypng.com →

Squoosh (Google)

Avansert. Side-by-side sammenligning. WebP, AVIF support.

squoosh.app →

ImageOptim (Mac)

Desktop app. Batch-komprimering. Lossless + lossy.

imageoptim.com →

Bildekilder (gratis)

Unsplash

Høyeste kvalitet. Gratis. Ingen attribusjon. Millioner av bilder.

unsplash.com →

Pexels

Stort bibliotek. Både foto og video. Gratis for kommersiell bruk.

pexels.com →

Pixabay

2.5M+ bilder og videoer. Illustrasjoner også. Helt gratis.

pixabay.com →

Vanlige Feil (og hvordan fikse dem)

Feil #1: "Jeg bruker PNG for alt"

Problem: PNG-filer er 2-5x større enn JPEG/WebP for foto. En typisk fotogalleri kan være 20 MB i stedet for 3 MB.

Løsning: Bruk PNG kun for logo/grafikk med transparency. Bruk WebP/JPEG for alt annet.

Feil #2: "Jeg laster opp RAW fra kameraet"

Problem: Kamerabilder er ofte 4000x3000px og 8-15 MB. Nettsiden viser dem som 800x600px. Du sløser 95% av dataen.

Løsning: Resize til 2x maksimal visningsstørrelse (for Retina) og komprimer til 70-85% før opplasting.

Feil #3: "Jeg glemmer alt-tekst"

Problem: Google ser ikke bildet uten alt-tekst. Skjermlesere sier "bilde" uten beskrivelse. Du mister SEO og tilgjengelighet.

Løsning: Alltid legg til beskrivende alt-tekst. Bruk formelen: [Hva] + [Handling] + [Kontekst]. Maks 125 tegn.

Feil #4: "Jeg lazy loader hero-bildet"

Problem: Hero-bildet (above fold) laster ikke før brukeren scroller. Dette gir dårlig LCP (Largest Contentful Paint) og irriterer brukere.

Løsning: Bruk loading="eager" eller priority (Next.js) for above-fold bilder. Lazy load kun under fold.

Ofte Stilte Spørsmål

Hvilket bildeformat skal jeg bruke?

WebP er best for de fleste bilder (70% mindre enn JPEG, bedre kvalitet). JPEG for komplekse foto hvis WebP ikke støttes. PNG for logo/grafikk med gjennomsiktig bakgrunn. SVG for ikoner/illustrasjoner (vektorgrafikkgrafkk, skalerer perfekt). AVIF er fremtiden men har bare 80% browserstøtte ennå - bruk som progressive enhancement.

Hvor store bør bildene være (filstørrelse)?

Hero/hovedbilder: Maks 200-300 KB. Produktbilder: 50-100 KB. Thumbails: 10-30 KB. En komplett nettside bør ha <2 MB totalt bildevolum på forsiden. Hver ekstra 100 KB gir 1% økt bounce rate. Bruk lazy loading for bilder under fold - dette sparer 40-60% initial load.

Hva er alt-tekst og hvorfor er det viktig?

Alt-tekst (alternativ tekst) beskriver bildet for skjermlesere og vises hvis bildet ikke laster. Viktig for tilgjengelighet (WCAG-krav) og SEO (Google 'leser' bildet via alt-tekst). God alt-tekst: 'Norsk fjelltopp ved soloppgang, Trolltunga i bakgrunnen'. Dårlig: 'bilde123.jpg' eller 'fjell'. Vær beskrivende men konsis (125 tegn).

Hvordan komprimerer jeg bilder uten å miste kvalitet?

Bruk 'lossy' komprimering på 70-85% kvalitet - dette er visuelt identisk for de fleste, men 50-70% mindre filer. Verktøy: TinyPNG (online, gratis), Squoosh (Google, avansert), ImageOptim (Mac), ShortPixel (WordPress plugin). For JPEG: Kvalitet 80-85. For PNG: Reduser fargepalett til 256 farger hvis mulig. For WebP: Quality 75-85. Test alltid visuelt før publisering.

Hva er forskjellen på raster og vektor?

Rasterbilder (JPEG, PNG, WebP) er laget av piksler - når du zoomer inn ser du firkanter. Vektorgrafikk (SVG) er laget av matematiske formler - skalerer perfekt uten kvalitetstap. Bruk raster for foto/komplekse bilder. Bruk vektor for logo, ikoner, illustrasjoner. SVG-filer er ofte 5-10x mindre enn PNG og ser skarpe ut på alle skjermstørrelser (viktig for Retina-skjermer).

Hva er srcset og hvorfor trenger jeg det?

srcset lar deg tilby flere bildevarianter i ulike størrelser, og nettleseren velger den mest passende basert på skjermstørrelse og oppløsning. Eksempel: En 2000px hero-bilde er overkill på mobil (400px skjerm). Med srcset laster mobilen 800px-versjonen (for Retina) mens desktop laster 2000px. Dette sparer 70-80% båndbredde på mobil. Next.js sitt Image-komponent håndterer dette automatisk.

Kan jeg bruke bilder fra Google?

NEI - de fleste bilder på Google er opphavsrettsbeskyttet. Bruk disse kildene: Unsplash (gratis, høy kvalitet, ingen attribusjon), Pexels (gratis, bra utvalg), Pixabay (gratis, stort bibliotek), Adobe Stock (betalt, profesjonelt), eller ansett en fotograf. Husk: Bilder uten lisens kan gi deg søksmål på 10,000-100,000 kr per bilde. Alltid sjekk lisens før bruk.

Hvordan fikser jeg treg bildehastighet?

1) Komprimer alle bilder (mål: <200 KB for hero, <100 KB for resten). 2) Implementer lazy loading (loading='lazy' eller Intersection Observer). 3) Bruk WebP/AVIF i stedet for JPEG/PNG. 4) Implementer responsive images (srcset). 5) Bruk CDN (Cloudflare, Cloudinary) for raskere levering. 6) Preload kritiske bilder (<link rel='preload'>). Disse 6 tiltakene kan redusere lastetid fra 8 sek til 1.5 sek.

Trenger du hjelp med bildeoptimalisering?

Vi setter opp automatisk bildeoptimialisering, CDN, og responsive images for din nettside. Få 60-80% raskere lastetid uten å løfte en finger.

Svar innen 24 timer • Ingen forpliktelser