# Base64 enkoder i dekoder

> Napredni alat za kodiranje i dekodiranje teksta u Base64. Podržava srpski jezik (UTF-8) i URL-safe format. Online, besplatno i bez slanja na server.

URL: https://acrafto.com/sr/base64-enkoder-dekoder-online/

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.

Da li treba da prebacite čitljiv tekst u Base64 format za upotrebu u HTTP zaglavljima, ili obrnuto, da dešifrujete sadržaj API tokena? Naš **Base64 Tekstualni Enkoder & Dekoder** je specijalizovani alat za rad sa tekstualnim stringovima koji se nosi i sa trikovima poput dijakritike ili specijalnih znakova.

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

## Kako funkcioniše Base64 format?

Mnogi ljudi svakodnevno koriste Base64, ali malo ko zna kako funkcioniše „ispod haube“. Nije reč o magiji, već o prostoj matematici sa bitovima.

Uobičajeni tekst u računaru se čuva kao 8 bitova (1 bajt). Međutim, Base64 koristi „abecedu“ od 64 znaka (`A-Z`, `a-z`, `0-9`, `+`, `/`). Pošto je `2^6 = 64`, jedan Base64 znak predstavlja tačno **6 bitova** informacije.

**Proces konverzije (Algoritam):**

1. Uzimaju se tri znaka vašeg teksta (3 × 8 bitova = 24 bita).
2. Ovih 24 bita se deli na četiri grupe po 6 bitova.
3. Svakoj grupi se dodeljuje znak iz Base64 tabele.

**Posledica:** Pošto od 3 znaka pravimo 4 znaka, rezultirajući Base64 string je uvek približno **za 33% duži** od originalnog teksta.

## Problem sa skupom znakova: Zašto uobičajeni Base64 konvertori uništavaju srpski jezik?

Ako ste ikada pokušali da kodirate reč “ŠĐČĆŽ” u konzoli pretraživača pomoću funkcije `btoa('ŠĐČĆŽ')`, verovatno ste dobili grešku: *String contains characters outside of the Latin1 range.*

Base64 je prvobitno dizajniran za 7-bitne ASCII znakove. Međutim, srpski jezik (latinica/ćirilica), emoji i drugi specijalni simboli (UTF-8) zauzimaju više bajtova u memoriji (multibajt znakovi).

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

Naš alat rešava ovaj problem. Pre samog kodiranja u Base64, tekst ispravno konvertujemo u sekvencu UTF-8 bajtova. Zahvaljujući tome, možete bezbedno kodirati JSON objekte, srpske tekstove i moderne simbole bez rizika od oštećenja podataka.

## Gde se koristi Base64 tekstualno kodiranje?

Dok Base64 slike služe uglavnom za ugradnju u CSS/HTML, tekstualni Base64 ima potpuno drugačiju primenu u backend sistemima:

### 1\. HTTP Basic autentifikacija

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

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

Moderne veb aplikacije koriste tzv. JWT za prijavljivanje. Takav token izgleda kao tri dugačka stringa odvojena tačkom. Deo sa podacima (Payload) je običan JSON objekat kodiran u Base64.

- **Savet:** Pokušajte ovde da unesete središnji deo vašeg JWT tokena i dekodirajte ga. Videćete tačno koje podatke aplikacija evidentira o vama (npr. ID korisnika, isticanje).

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

Platforme poput Kubernetes-a čuvaju tajne podatke (Secrets) u konfiguracionim YAML datotekama upravo u Base64 formatu. Ne radi se o šifrovanju, već o načinu da se u tekstualnu datoteku smeste binarni podaci ili tekst sa problematičnim znakovima (novi redovi, navodnici).

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

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

- `/` odvaja direktorijume.
- `+` 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.

**Rešenje (URL Safe režim):** Naš prekidač aktivira varijantu **Base64URL** (prema RFC 4648), koja vrši sledeće promene:

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

---

## Mit: Base64 nije šifrovanje!

Važno je shvatiti suštinsku razliku koju početnici često brkaju:

1. **Kodiranje (Encoding - Base64):** Služi za prenos podataka. To je kao da spakujete nešto u kofer da se ne bi razbilo na putu. Svako ko pronađe kofer može ga otvoriti (dekodirati) i videti sadržaj. **Nije bezbedno za tajne podatke.**
2. **Šifrovanje (Encryption - AES, RSA):** Zaključava podatke ključem. Bez ključa ne možete pristupiti sadržaju.
3. **Heširanje (Hashing - SHA, MD5):** Jednosmeran proces (npr. za čuvanje lozinki). Iz rezultata se ne može dobiti originalni tekst.

*Ako treba da pošaljete lozinku ili osetljiv podatak, sam Base64 nije dovoljan. Morate koristiti HTTPS (SSL/TLS), koji će šifrovati prenos.*

---

## Često postavljana pitanja (FAQ)

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

To je tzv. "padding" (popunjavanje). Pošto Base64 kodira podatke u grupama od 3 znaka, može se desiti da dužina originalnog teksta nije deljiva 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"?

Verovatno pokušavate da dekodirate podatke koji nisu tekst. Ako Base64 string predstavlja kompresovanu datoteku (ZIP), sliku ili šifrovane podatke, konverzija u tekst (UTF-8) nema smisla. Pokušajte da utvrdite poreklo podataka.

### Da li alat radi offline?

Da. Sva logika konverzije je napisana u JavaScriptu i pokreće se direktno u vašem pretraživaču. Kada se stranica učita, možete se isključiti sa interneta i alat će i dalje funkcionisati. Vaši podaci se nigde 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))
- Македонски (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))
