---
title: "Base64 Kodlayıcı / Çözücü"
description: "Base64 ile metin encode ve decode. URL-safe varyantı destekler. Unicode farkındalı."
url: https://sade.dev/tr/tools/base64/
lang: tr
author: "Muhammet Şafak"
published: 2026-04-03
updated: 2026-09-06
section: Tool
tags: ["base64","encoding"]
---

# Base64 Kodlayıcı / Çözücü

> Base64 ile metin encode ve decode. URL-safe varyantı destekler. Unicode farkındalı.

Base64, ikilik veriyi 64 yazdırılabilir ASCII karakter (`A-Z`, `a-z`, `0-9`, `+`, `/`)
ile temsil eden bir encoding. 3 byte'ı 4 karakterle gösterir, dolayısıyla yaklaşık
**%33 boyut artışına** yol açar.

## Ne için kullanılır?

- HTTP header'larında ikilik veri taşıma (örn. Basic Auth).
- E-postada attachment encoding (MIME).
- Data URL'leri (`data:image/png;base64,...`).
- JWT'nin header ve payload kısımları (URL-safe varyantla).

## URL-safe varyant

Standart base64 `+` ve `/` karakterlerini kullanır, ancak bunlar URL'lerde özel
anlamlıdır. URL-safe (RFC 4648 §5) varyant:

- `+` → `-`
- `/` → `_`
- `=` padding'i çoğunlukla atlanır

JWT, OAuth gibi protokoller URL-safe varyantı kullanır.

## Unicode dikkati

Base64 byte'lar üzerinde çalışır, karakterler üzerinde değil. JavaScript'in
`btoa`/`atob` fonksiyonları ise yanıltıcı biçimde **Latin-1** kabul eder: eşik
U+00FF'tir. Bunun üstündeki karakterler — `ğ`, `ı`, `İ`, `ş` ve tüm emoji — doğrudan
`btoa`'ya verilirse `InvalidCharacterError` fırlatır. Asıl tehlikelisi ise eşiğin
altında kalanlar: `ç` (U+00E7), `ö` (U+00F6), `ü` (U+00FC) Latin-1 Supplement
bloğunda olduğu için `btoa` hata atmaz, sessizce yanlış bayt üretir —
`btoa("çöp")` size `5/Zw` döndürür, yani UTF-8 değil Latin-1 baytları. Sessiz
bozulma, hata almaktan daha tehlikelidir.

Bu araç metni önce **UTF-8 byte'larına** çevirip sonra base64 encode eder —
yani Türkçe karakterler ve emoji güvenle çalışır.

## Gizlilik

Encode ve decode işlemleri tamamen tarayıcınızda yapılır. Yapıştırdığınız metin
hiçbir yere gönderilmez.
