# Base64 koder i dekoder

> Napredni alat za kodiranje i dekodiranje teksta u Base64. Rješava probleme s UTF-8 znakovima i podržava URL-siguran format. Online, besplatno i sigurno.

URL: https://acrafto.com/bs/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 li pretvoriti čitljiv tekst u Base64 format za korištenje u HTTP zaglavljima, ili obrnuto, dešifrovati sadržaj API tokena? Naš **Base64 Tekst Koder & Dekoder** je specijalizovani alat za rad s tekstualnim stringovima, koji se može nositi i s poteškoćama, poput dijakritike ili specijalnih znakova.

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

## Kako funkcioniše Base64 format?

Mnogi ljudi svakodnevno koriste Base64, ali rijetki znaju kako funkcioniše “ispod haube”. Nije u pitanju magija, već jednostavna matematika s bitovima.

Običan tekst u računaru se čuva kao 8 bitova (1 bajt). Base64, međutim, koristi “abecedu” od 64 znaka (`A-Z`, `a-z`, `0-9`, `+`, `/`). Budući da je `2^6 = 64`, jedan Base64 znak predstavlja tačno **6 bitova** informacije.

**Proces pretvaranja (Algoritam):**

1. Uzmite tri znaka vašeg teksta (3 × 8 bitova = 24 bita).
2. Ovih 24 bita se podijeli u četiri grupe po 6 bitova.
3. Svakoj grupi se dodijeli znak iz Base64 tabele.

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

## Problem sa skupom znakova: Zašto uobičajeni Base64 konverteri uništavaju dijakritiku?

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

Base64 je izvorno dizajniran za 7-bitne ASCII znakove. Dijakritika, emoji i drugi specijalni 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 sekvencu UTF-8 bajtova. Zahvaljujući tome, možete sigurno kodirati JSON objekte, tekstove s dijakritikom i moderne simbole bez rizika od oštećenja podataka.

## Gdje se koristi Base64 tekstualno kodiranje?

Dok se slike u Base64 uglavnom koriste za umetanje u CSS/HTML, tekstualni Base64 ima potpuno drugu primjenu u backend sistemima:

### 1\. HTTP Basic Authentication

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

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

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

- **Savjet:** Pokušajte ovdje zalijepiti središnji dio vašeg JWT tokena i dekodirati ga. Vidjet ćete tačno koje podatke aplikacija evidira o vama (npr. ID korisnika, datum isteka).

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

Platforme poput Kubernetes-a pohranjuju tajne podatke (Secrets) u konfiguracijskim YAML datotekama upravo u Base64 formatu. Ne radi se o enkripciji, već o načinu pohranjivanja binarnih podataka ili teksta s problematičnim znakovima (novi redovi, navodnici) u tekstualnu datoteku.

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

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

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

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

**Rješenje (URL Safe način):** Naš prekidač aktivira varijantu **Base64URL** (prema RFC 4648), koja vrši ove promjene:

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

---

## Mit: Base64 nije enkripcija!

Važno je shvatiti fundamentalnu razliku koju početnici često brkaju:

1. **Kodiranje (Encoding - Base64):** Služi za prijenos podataka. To je kao da spakujete stvar u kofer da se ne razbije tokom puta. Ko god nađ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 pohranjivanje lozinki). Iz rezultata nije moguće dobiti originalni tekst.

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

---

## Često postavljana pitanja (FAQ)

### Šta znače znakovi "=" na kraju stringa?

To je tzv. "padding" (popunjavanje). Budući da Base64 kodira podatke u grupama od 3 znaka, može se desiti da dužina originalnog teksta nije djeljiva sa tri. Znakovi \`=\` se dodaju na kraj kako bi dekoder znao koliko bitova treba ignorisati na kraju.

### Zašto se dekodirani tekst prikazuje kao "rasuti čaj"?

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

### Radi li alat offline?

Da. Sva logika pretvaranja je napisana u JavaScriptu i radi direktno u vašem pretraživaču. Čim se stranica učita, možete se odvojiti od interneta i alat će i dalje raditi. Vaši podaci se 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))
- Hrvatski (hr): [Base64 koder i dekoder](https://acrafto.com/hr/base64-koder-dekoder/) ([Markdown](https://acrafto.com/hr/base64-koder-dekoder/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))
- 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))
