# Base64 koder i dekoder

> Kodirajte i dekodirajte tekst u Base64 online, s podrškom za hrvatske znakove (UTF-8) i URL-safe format. Radi izravno u pregledniku, besplatno.

URL: https://acrafto.com/hr/base64-koder-dekoder/

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

Trebate pretvoriti čitljiv tekst u Base64 format za korištenje u HTTP zaglavljima, ili obrnuto, dešifrirati sadržaj API tokena? Naš **Base64 Text Encoder & Decoder** je specijalizirani alat za rad s tekstualnim nizovima koji se nosi i s izazovima poput dijakritike ili posebnih znakova.

> **Radite s slikama?**  
> Ako vaš kod počinje `data:image/png...` ili želite pretvoriti datoteku u tekst, ovaj alat će vam prikazati samo besmislene znakove. Koristite naš specijalizirani alat za pretvorbu u sliku.

## Kako funkcionira Base64 format?

Mnogi ljudi koriste Base64 svakodnevno, ali malo tko zna kako funkcionira “ispod haube”. Nije riječ o magiji, već o jednostavnoj matematici s bitovima.

Uobičajeni tekst u računalu pohranjuje se u 8-bitnim jedinicama (1 bajt). Međutim, Base64 koristi “abecedu” od 64 znaka (`A-Z`, `a-z`, `0-9`, `+`, `/`). Budući da je `2^6 = 64`, jedan Base64 znak predstavlja točno **6 bitova** informacije.

**Proces pretvorbe (Algoritam):**

1. Uzimaju se tri znaka vašeg teksta (3 × 8 bitova = 24 bita).
2. Ova 24 bita se dijele u četiri skupine po 6 bitova.
3. Svakoj se skupini dodjeljuje znak iz Base64 tablice.

**Posljedica:** Budući da od 3 znaka stvaramo 4 znaka, rezultirajući Base64 niz je uvijek približno **33 % duži** od izvornog teksta.

## Problem s skupom znakova: Zašto uobičajeni Base64 konverteri uništavaju hrvatske znakove?

Ako ste ikada pokušali kodirati riječ “Čamac” u konzoli preglednika pomoću funkcije `btoa('Čamac')`, vjerojatno ste dobili pogrešku: *String contains characters outside of the Latin1 range.*

Base64 je izvorno dizajniran za 7-bitne ASCII znakove. Međutim, hrvatski znakovi, emoji i drugi posebni simboli (UTF-8) zauzimaju više bajtova u memoriji (višebajtni znakovi).

- Slovo `a` = 1 bajt.
- Slovo `č` = 2 bajta.
- Emoji 🚀 = 4 bajta.

Naš alat rješava ovaj problem. Prije samog kodiranja u Base64, tekst ispravno pretvaramo u slijed UTF-8 bajtova. Zahvaljujući tome, možete sigurno kodirati JSON objekte, hrvatske tekstove i moderne simbole bez rizika od oštećenja podataka.

## Gdje se koristi Base64 tekstualno kodiranje?

Dok se slike u Base64-u uglavnom koriste za ugradnju u CSS/HTML, tekstualni Base64 ima potpuno drugačiju primjenu u backend sustavima:

### 1\. HTTP Osnovna autentifikacija

Kada se prijavljujete na API, zaglavlje često izgleda ovako: `Authorization: Basic a29yaXNuaWs6bG96aW5rYQ==` Iza ovog koda krije se jednostavno spojeno korisničko ime i lozinka u formatu `korisnik:lozinka`. Naš alat vam omogućuje da lako generirate ili provjerite ova zaglavlja.

### 2\. JSON Web Tokeni (JWT)

Moderne web aplikacije koriste tzv. JWT za prijavu. Takav token izgleda kao tri duga niza odvojena točkom. Dio s podacima (Payload) je običan JSON objekt kodiran u Base64.

- **Savjet:** Pokušajte ovdje umetnuti središnji dio vašeg JWT tokena i dekodirati ga. Vidjet ćete točno koje podatke aplikacija bilježi o vama (npr. ID korisnika, istek).

### 3\. Konfiguracijske datoteke (Kubernetes Secrets)

Platforme poput Kubernetes pohranjuju tajne podatke (Secrets) u konfiguracijskim YAML datotekama upravo u Base64 formatu. Ne radi se o enkripciji, već o načinu kako u tekstualnu datoteku pohraniti binarne podatke ili tekst s problematičnim znakovima (novi redovi, navodnici).

## Što je “URL sigurno Base64 kodiranje” i zašto je važno?

Standardna Base64 abeceda sadrži znakove `+` (plus) i `/` (kosa crta). Oba ova znaka imaju posebno značenje u URL adresama:

- `/` odvaja direktorije.
- `+` se često tumači kao razmak.

Ako biste poslali standardni Base64 u URL parametru (npr. `site.com?token=ab/cd+ef`), poslužitelj bi mogao pogrešno pročitati podatke.

**Rješenje (URL siguran način):** Naš prekidač aktivira varijantu **Base64URL** (prema RFC 4648), koja provodi sljedeće promjene:

- `+` se mijenja u `-` (crtica).
- `/` se mijenja u `_` (podvlaka).
- Na kraju se uklanjaju znakovi `=` (padding), koji u URL-u nisu potrebni.

---

## Mit: Base64 nije enkripcija!

Važno je razumjeti bitnu razliku koju početnici često brkaju:

1. **Kodiranje (Encoding - Base64):** Služi za prijenos podataka. To je kao da spakirate stvar u kofer kako se ne bi razbila putem. Svatko tko pronađe kofer može ga otvoriti (dekodirati) i vidjeti sadržaj. **Nije sigurno za tajne podatke.**
2. **Enkripcija (Encryption - AES, RSA):** Zaključava podatke ključem. Bez ključa ne možete pristupiti sadržaju.
3. **Heširanje (Hashing - SHA, MD5):** Jednosmjerni proces (npr. za pohranu lozinki). Iz rezultata se ne može dobiti izvorni tekst.

*Ako trebate poslati lozinku ili osjetljive podatke, sam Base64 nije dovoljan. Morate koristiti HTTPS (SSL/TLS) koji će šifrirati prijenos.*

---

## Često postavljana pitanja (FAQ)

### Što znače znakovi "=" na kraju niza?

To je tzv. "padding" (popunjavanje). Budući da Base64 kodira podatke u skupinama od 3 znaka, može se dogoditi da duljina izvornog teksta nije djeljiva s tri. Znakovi \`=\` dodaju se na kraj kako bi dekoder znao koliko bitova treba ignorirati na kraju.

### Zašto se dekodirani tekst prikazuje kao "nerazumljiv tekst"?

Vjerojatno pokušavate dekodirati podatke koji nisu tekst. Ako Base64 niz predstavlja komprimiranu datoteku (ZIP), sliku ili šifrirane podatke, pretvorba u tekst (UTF-8) nema smisla. Pokušajte saznati izvor podataka.

### Radi li alat offline?

Da. Sva logika pretvorbe napisana je u JavaScriptu i radi izravno u vašem pregledniku. Nakon što se stranica učita, možete se odspojiti s interneta i alat će i dalje raditi. Vaši se podaci nigdje ne šalju.

## Other languages

- Čeština (cs): [Base64 Encoder a Decoder](https://acrafto.com/cs/base64-decoder-encoder/) ([Markdown](https://acrafto.com/cs/base64-decoder-encoder/index.md))
- Slovenčina (sk): [Base64 kódovač a dekódovač](https://acrafto.com/sk/base64-kodovac-dekodovac-online/) ([Markdown](https://acrafto.com/sk/base64-kodovac-dekodovac-online/index.md))
- English (en): [Base64 Encoder and Decoder](https://acrafto.com/en/base64-encoder-decoder/) ([Markdown](https://acrafto.com/en/base64-encoder-decoder/index.md))
- Deutsch (de): [Base64 Encoder und Decoder](https://acrafto.com/de/base64-encoder-decoder-online/) ([Markdown](https://acrafto.com/de/base64-encoder-decoder-online/index.md))
- Français (fr): [Encodeur et décodeur Base64](https://acrafto.com/fr/encodeur-decodeur-base64/) ([Markdown](https://acrafto.com/fr/encodeur-decodeur-base64/index.md))
- Español (es): [Codificador y decodificador Base64](https://acrafto.com/es/codificador-base64-decodificador-online/) ([Markdown](https://acrafto.com/es/codificador-base64-decodificador-online/index.md))
- Italiano (it): [Encoder e decoder Base64](https://acrafto.com/it/encoder-decoder-base64-online/) ([Markdown](https://acrafto.com/it/encoder-decoder-base64-online/index.md))
- Português (pt): [Codificador e decodificador Base64](https://acrafto.com/pt/encoder-decoder-base64-online/) ([Markdown](https://acrafto.com/pt/encoder-decoder-base64-online/index.md))
- Nederlands (nl): [Base64 encoder en decoder](https://acrafto.com/nl/base64-encoder-decoder/) ([Markdown](https://acrafto.com/nl/base64-encoder-decoder/index.md))
- Polski (pl): [Koder i dekoder Base64](https://acrafto.com/pl/koder-dekoder-base64-online/) ([Markdown](https://acrafto.com/pl/koder-dekoder-base64-online/index.md))
- Română (ro): [Base64 encoder și decoder](https://acrafto.com/ro/codor-decodor-base64/) ([Markdown](https://acrafto.com/ro/codor-decodor-base64/index.md))
- Magyar (hu): [Base64 kódoló és dekódoló](https://acrafto.com/hu/base64-kodolo-dekodolo-online/) ([Markdown](https://acrafto.com/hu/base64-kodolo-dekodolo-online/index.md))
- Ελληνικά (el): [Κωδικοποίηση και αποκωδικοποίηση Base64](https://acrafto.com/el/base64-encoder-decoder/) ([Markdown](https://acrafto.com/el/base64-encoder-decoder/index.md))
- Български (bg): [Base64 енкодер и декодер](https://acrafto.com/bg/base64-enkoder-dekoder-onlain/) ([Markdown](https://acrafto.com/bg/base64-enkoder-dekoder-onlain/index.md))
- Slovenščina (sl): [Base64 kodirnik in dekodirnik](https://acrafto.com/sl/base64-kodirnik-dekodirnik/) ([Markdown](https://acrafto.com/sl/base64-kodirnik-dekodirnik/index.md))
- Eesti (et): [Base64 kodeerija ja dekodeerija](https://acrafto.com/et/base64-teisendaja/) ([Markdown](https://acrafto.com/et/base64-teisendaja/index.md))
- Latviešu (lv): [Base64 kodētājs un dekodētājs](https://acrafto.com/lv/base64-kodetajs-dekodetajs/) ([Markdown](https://acrafto.com/lv/base64-kodetajs-dekodetajs/index.md))
- Lietuvių (lt): [Base64 koduotuvas ir dekoduotuvas](https://acrafto.com/lt/base64-koduotuvas-dekoduotuvas/) ([Markdown](https://acrafto.com/lt/base64-koduotuvas-dekoduotuvas/index.md))
- Svenska (sv): [Base64 encode och decode](https://acrafto.com/sv/base64-kodare-avkodare-online/) ([Markdown](https://acrafto.com/sv/base64-kodare-avkodare-online/index.md))
- Dansk (da): [Base64 encoder og dekoder](https://acrafto.com/da/base64-encoder-dekoder-online/) ([Markdown](https://acrafto.com/da/base64-encoder-dekoder-online/index.md))
- Suomi (fi): [Base64-kooderi ja -dekooderi](https://acrafto.com/fi/base64-kooderi-dekooderi/) ([Markdown](https://acrafto.com/fi/base64-kooderi-dekooderi/index.md))
- Norsk (no): [Base64-enkoder og -dekoder](https://acrafto.com/no/base64-enkoder-dekoder/) ([Markdown](https://acrafto.com/no/base64-enkoder-dekoder/index.md))
- Українська (uk): [Base64 кодер і декодер](https://acrafto.com/uk/base64-koder-dekoder-onlajn/) ([Markdown](https://acrafto.com/uk/base64-koder-dekoder-onlajn/index.md))
- Русский (ru): [Base64 кодировщик и декодировщик](https://acrafto.com/ru/base64-koder-dekoder/) ([Markdown](https://acrafto.com/ru/base64-koder-dekoder/index.md))
- Српски (sr): [Base64 enkoder i dekoder](https://acrafto.com/sr/base64-enkoder-dekoder-online/) ([Markdown](https://acrafto.com/sr/base64-enkoder-dekoder-online/index.md))
- Македонски (mk): [Base64 енкодер и декодер](https://acrafto.com/mk/base64-converter/) ([Markdown](https://acrafto.com/mk/base64-converter/index.md))
- Bosanski (bs): [Base64 koder i dekoder](https://acrafto.com/bs/base64-koder-dekoder/) ([Markdown](https://acrafto.com/bs/base64-koder-dekoder/index.md))
- Shqip (sq): [Base64 kodues dhe dekodues](https://acrafto.com/sq/kodues-dekodues-base64-online/) ([Markdown](https://acrafto.com/sq/kodues-dekodues-base64-online/index.md))
- Türkçe (tr): [Base64 kodlayıcı ve çözücü](https://acrafto.com/tr/base64-kodlayici-cozucu-online/) ([Markdown](https://acrafto.com/tr/base64-kodlayici-cozucu-online/index.md))
- 日本語 (ja): [Base64エンコード・デコード](https://acrafto.com/ja/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ja/base64-encoder-decoder/index.md))
- 한국어 (ko): [Base64 인코딩 디코딩](https://acrafto.com/ko/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ko/base64-encoder-decoder/index.md))
- العربية (ar): [ترميز وفك ترميز Base64](https://acrafto.com/ar/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ar/base64-encoder-decoder/index.md))
- हिन्दी (hi): [Base64 एन्कोडर और डिकोडर](https://acrafto.com/hi/base64-encoder-decoder-online/) ([Markdown](https://acrafto.com/hi/base64-encoder-decoder-online/index.md))
- Bahasa Indonesia (id): [Base64 encode dan decode](https://acrafto.com/id/konverter-base64-online/) ([Markdown](https://acrafto.com/id/konverter-base64-online/index.md))
- Tiếng Việt (vi): [Mã hóa và giải mã Base64](https://acrafto.com/vi/base64-ma-hoa-giai-ma-online/) ([Markdown](https://acrafto.com/vi/base64-ma-hoa-giai-ma-online/index.md))
- ไทย (th): [เข้ารหัสและถอดรหัส Base64](https://acrafto.com/th/base64-encoder-decoder/) ([Markdown](https://acrafto.com/th/base64-encoder-decoder/index.md))
- עברית (he): [קידוד ופענוח Base64](https://acrafto.com/he/base64-encoder-decoder/) ([Markdown](https://acrafto.com/he/base64-encoder-decoder/index.md))
