Base64 enkodér a dekodér
Vložte text nebo vyberte soubor a hned uvidíte jeho podobu v Base64. Funguje to i obráceně: z Base64 dostanete zpět text, obrázek či jiný soubor.
Výsledek je soubor, ne text
Dekódovaná data nejsou čitelný text, soubor si ale můžete stáhnout.
Jak používat nástroj
Jak zakódovat a dekódovat Base64
- 1 Nahoře vyberte, zda pracujete s textem, nebo se souborem. Text můžete zakódovat i dekódovat. Soubor, například obrázek nebo PDF, zakódujete do Base64 nebo rovnou do data URI.
- 2 U textu zvolte Zakódovat nebo Dekódovat a vložte text. Výsledek se zobrazí hned během psaní.
- 3 Výsledek zkopírujte tlačítkem Kopírovat. Tlačítkem Prohodit ho přesunete do vstupu a otočíte směr, například pro kontrolu.
Co nástroj zvládne sám
- při dekódování rozpozná běžný Base64 i base64url a doplní chybějící znaky = na konci
- přečte celé data URI včetně typu souboru a ignoruje mezery a zalomení řádků
- pozná obrázek, PDF nebo archiv, u obrázku ukáže náhled a nabídne stažení
- text, který není v UTF-8, zkusí přečíst ve starším kódování Windows-1250 a upozorní na to
- při kódování textu ukáže pod výsledkem i verzi base64url pro adresy a JWT
- vše zpracovává přímo ve vašem prohlížeči, nic se neodesílá na server
Jak převést obrázek na Base64 a zpět
Base64 se nejčastěji používá u obrázků. Malý obrázek zakódujete a vložíte přímo do HTML nebo CSS, bez samostatného souboru. A když dostanete obrázek jako Base64 řetězec, například z API, převedete ho tady zpět na soubor a uložíte si ho.
Z obrázku na Base64
- 1 Nahoře v nástroji přepněte na Soubor a vyberte obrázek PNG, JPG, GIF, WebP nebo SVG.
- 2 Zvolte formát Data URI, pokud ho chcete vložit do HTML nebo CSS, nebo Base64 pro API a JSON.
-
3
Výsledek zkopírujte a vložte do atributu
src, do CSS vlastnostibackgroundnebo do svého kódu.
Z Base64 na obrázek nebo PDF
- 1 Přepněte na Text a zvolte Dekódovat.
- 2 Vložte Base64 řetězec nebo celé data URI. Nástroj podle obsahu pozná, zda jde o PNG, JPEG, GIF, WebP nebo PDF.
- 3 U obrázku se zobrazí náhled. Tlačítkem Stáhnout soubor ho uložíte se správnou příponou.
Jak přečíst JWT token
JWT token vypadá jako jeden dlouhý řetězec, tvoří ho však tři části oddělené tečkou. První dvě jsou obyčejný JSON zakódovaný v base64url, takže je přečtete i bez klíče. Každou část vložte do nástroje zvlášť:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjMiLCJuYW1lIjoiSmFuYSIsImV4cCI6MTc2NzIyNTYwMH0.podpis
- Hlavička
-
{"alg":"HS256","typ":"JWT"}algoritmus podpisu a typ tokenu
- Data
-
{"sub":"123","name":"Jana","exp":1767225600}identifikátor uživatele, jméno a čas vypršení
- Podpis
-
podpisbinární podpis, který ověří server, nejde o text
Hodnota exp je čas vypršení v sekundách od 1. ledna 1970, tady přesně 1. ledna 2026 o půlnoci UTC. Údaje v tokenu si přečte kdokoli, kdo token má, proto do nich nikdy nedávejte hesla ani jiné tajné informace.
Jak vytáhnout přílohu ze zdrojového kódu e-mailu
Ve zdrojovém kódu zprávy je každá příloha uložena jako dlouhý blok Base64 za hlavičkou Content-Transfer-Encoding: base64. Zdrojový kód otevřete v Gmailu přes Zobrazit originál, v Outlooku přes Zobrazit zdroj zprávy. Blok zkopírujte bez hlaviček, vložte ho sem, zvolte Dekódovat a soubor stáhněte. Pomůže to, když se příloha v e-mailovém programu nedá otevřít nebo ji program zablokoval.
Náhodný klíč v Base64
Tajné klíče pro API, šifrování nebo podpisy se často zapisují jako náhodné bajty v Base64. Laravel například ukládá klíč aplikace jako APP_KEY=base64: a 32 náhodných bajtů. Klíč si vygenerujete i tady, kryptograficky bezpečným generátorem přímo ve vašem prohlížeči.
V terminálu totéž udělá příkaz openssl rand -base64 32. Vygenerovaný klíč se nikam neodesílá ani neukládá.
Vše o Base64
Co je Base64 a k čemu se používá
Base64 je způsob, jak zapsat jakákoli data, i obrázek nebo PDF, pouze pomocí 64 běžných znaků: velkých a malých písmen, číslic a znaků + a /. Takto zapsaná data se dají přenést všude, kde je povolen jen text, například v přílohách e-mailů, v odpovědích API ve formátu JSON, v HTML či CSS. Z každých tří bajtů vzniknou čtyři znaky, proto je výsledek asi o třetinu delší než původní data.
- znaků v abecedě Base64
- 64
- ze tří bajtů vzniknou čtyři znaky
- 3 → 4
- o tolik je výsledek delší
- +33 %
- standard, který Base64 definuje
- RFC 4648
Příklady
Takto vypadají běžné texty před zakódováním a po něm:
| Vstup | Base64 | |
|---|---|---|
| Krátký text | Ahoj |
QWhvag== |
| Text s diakritikou | Dobrý den |
RG9icsO9IGRlbg== |
| Přihlášení HTTP Basic | jmeno:heslo |
am1lbm86aGVzbG8= |
Jak Base64 funguje krok za krokem
- 1 Text se nejprve převede na bajty. Písmena bez diakritiky zabírají v UTF-8 jeden bajt, á, č nebo ž dva bajty a emoji čtyři.
- 2 Každý bajt má osm bitů. Bity se seřadí za sebou a rozdělí do skupin po šesti.
- 3 Každá šestice bitů je číslo od 0 do 63 a tomu v abecedě Base64 odpovídá jeden znak: 0 je A, 26 je a, 52 je 0, 62 je + a 63 je /.
- 4 Pokud na poslední šestici nezbude dost bitů, doplní se nulami. Na konec výsledku se pak přidají znaky =, aby jeho délka byla dělitelná čtyřmi.
Ukázka rozloží prvních šest bajtů textu.
| Znak | Bajt | Bity |
|---|---|---|
| A | 65 | 01000001 |
| h | 104 | 01101000 |
| o | 111 | 01101111 |
| j | 106 | 01101010 |
| Šestice bitů | Hodnota | Znak Base64 |
|---|---|---|
| 010000 | 16 | Q |
| 010110 | 22 | W |
| 100001 | 33 | h |
| 101111 | 47 | v |
| 011010 | 26 | a |
| 100000 | 32 | g |
| = | ||
| = |
= QWhvag==
Abeceda Base64 (tabulka znaků)
Base64 používá přesně 64 znaků. Každý odpovídá jednomu číslu od 0 do 63, tedy jedné šestici bitů. Znak = není součástí abecedy, jen na konci doplňuje délku.
- 0 A
- 1 B
- 2 C
- 3 D
- 4 E
- 5 F
- 6 G
- 7 H
- 8 I
- 9 J
- 10 K
- 11 L
- 12 M
- 13 N
- 14 O
- 15 P
- 16 Q
- 17 R
- 18 S
- 19 T
- 20 U
- 21 V
- 22 W
- 23 X
- 24 Y
- 25 Z
- 26 a
- 27 b
- 28 c
- 29 d
- 30 e
- 31 f
- 32 g
- 33 h
- 34 i
- 35 j
- 36 k
- 37 l
- 38 m
- 39 n
- 40 o
- 41 p
- 42 q
- 43 r
- 44 s
- 45 t
- 46 u
- 47 v
- 48 w
- 49 x
- 50 y
- 51 z
- 52 0
- 53 1
- 54 2
- 55 3
- 56 4
- 57 5
- 58 6
- 59 7
- 60 8
- 61 9
- 62 +
- 63 /
Proč je na konci = nebo ==
Base64 zpracovává data po třech bajtech. Když jich na konci zbude méně, chybějící místo označí znak =. Pokud zbude jeden bajt, přibudou dva znaky =, u dvou bajtů jeden a u tří žádný. Některé systémy, například JWT, znaky = vynechávají, protože dekodér si délku dokáže dopočítat.
Jak velký bude Base64
Z každých tří bajtů vzniknou čtyři znaky, takže Base64 má 4 × ⌈n ÷ 3⌉ znaků, kde n je počet bajtů a závorky znamenají zaokrouhlení nahoru. Výsledek je tedy zhruba o 33 % delší. V e-mailech se Base64 navíc zalamuje do řádků po 76 znacích a každý řádek končí dvěma znaky CR LF, proto příloha naroste zhruba o 37 %. A naopak: Base64 o délce d obsahuje 3 × d ÷ 4 bajtů, od kterých odečtete počet znaků = na konci.
| Původní soubor | Base64 | Base64 v e-mailu (MIME) |
|---|---|---|
| 1,00 KB | 1,34 KB | 1,37 KB |
| 10,00 KB | 13,34 KB | 13,69 KB |
| 100 KB | 133 KB | 137 KB |
| 1,00 MB | 1,33 MB | 1,37 MB |
| 10,00 MB | 13,33 MB | 13,68 MB |
Varianty Base64
Všechny varianty používají stejných prvních 62 znaků. Liší se posledními dvěma znaky, doplněním na konci a tím, zda se výsledek zalamuje do řádků.
| Varianta | Znaky 62 a 63 | Doplnění = | Řádky | Kde se používá |
|---|---|---|---|---|
| Standardní Base64 (RFC 4648) | + / | ano | bez zalamování | API, JSON, data URI |
| base64url (RFC 4648) | - _ | obvykle ne | bez zalamování | JWT, OAuth, adresy, názvy souborů |
| MIME (RFC 2045) | + / | ano | po 76 znacích | přílohy e-mailů |
| PEM (RFC 7468) | + / | ano | po 64 znacích | certifikáty a kryptografické klíče |
Base64 a base64url
Běžný Base64 obsahuje znaky +, / a =, které mají v adresách vlastní význam. Varianta base64url místo nich používá - a _ a znaky = na konci vynechává. Používají ji například JWT tokeny, OAuth a podpisy v adresách.
Obrázek jako data URI
Data URI vloží soubor přímo do HTML nebo CSS, například <img src="data:image/png;base64,…">. Hodí se na malé ikony, protože je prohlížeč nemusí stahovat zvlášť. U větších obrázků se to nevyplatí: jsou o třetinu větší a prohlížeč si je neumí uložit samostatně do mezipaměti. Do e-mailů data URI nedávejte, Gmail takové obrázky nezobrazí a antispamové filtry je často považují za podezřelé.
Kde se Base64 používá v praxi
Obrázky přímo v HTML a CSS
Malou ikonu nebo logo vložíte do stránky jako data URI, bez samostatného souboru a bez dalšího požadavku na server.
<img src="data:image/png;base64,iVBORw0KGgo…" alt="Logo">
.ikona {
background: url("data:image/svg+xml;base64,PHN2Zy…");
}
Přílohy e-mailů
E-mail přenáší jen text, proto se každá příloha zakóduje do Base64. Hlavička přílohy e-mailovému programu sdělí, jak ji má dekódovat.
Content-Type: application/pdf; name="faktura.pdf"
Content-Transfer-Encoding: base64
JVBERi0xLjcKJeLjz9MK…
Přihlášení přes HTTP Basic
Prohlížeč spojí jméno a heslo dvojtečkou a pošle je v Base64. Nejde o šifrování, údaje chrání jen spojení přes HTTPS.
Authorization: Basic am1lbm86aGVzbG8=
JWT tokeny
Token tvoří tři části oddělené tečkou: hlavička, data a podpis. První dvě jsou JSON zakódovaný v base64url, takže si je přečte kdokoli. Podpis zaručí, že je nikdo nezměnil, ale neskryje je.
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjMiLCJuYW1lIjoiSmFuYSJ9.podpis
Certifikáty a klíče
SSL certifikáty a soukromé klíče se ukládají jako Base64 mezi řádky BEGIN a END. Tento formát se nazývá PEM.
-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIE…
-----END CERTIFICATE-----
Soubory v API a JSON
JSON neumí uložit binární data, proto API posílají soubory jako Base64 řetězec v běžném textovém poli.
{
"nazev": "smlouva.pdf",
"obsah": "JVBERi0xLjcKJeLjz9MK…"
}
Tajné údaje v Kubernetes
Kubernetes ukládá hodnoty v objektech Secret jako Base64, aby v nich mohla být i binární data. Nejde však o ochranu: kdo má přístup k objektu, hodnotu snadno dekóduje. Skutečnou ochranu zajistí až šifrování v úložišti a přístupová práva.
apiVersion: v1
kind: Secret
data:
password: dGFqbmVoZXNsbw==
Jak poznat soubor podle začátku Base64
Většina formátů začíná typickými bajty, proto i jejich Base64 začíná vždy stejně. Podle prvních znaků tak často poznáte typ souboru ještě před dekódováním. Řádky označené hvězdičkou ukazují jen nejčastější začátek, ne pevné pravidlo.
| Base64 začíná | Typ souboru | MIME typ |
|---|---|---|
iVBORw0KGg… | PNG | image/png |
/9j/… | JPEG | image/jpeg |
R0lGO… | GIF | image/gif |
UklGR… | RIFF (WebP, WAV, AVI) | image/webp, audio/wav |
PHN2Z… | SVG* | image/svg+xml |
JVBERi… | application/pdf | |
UEsDB… | ZIP, DOCX, XLSX | application/zip |
H4sI… | GZIP | application/gzip |
PD94bW… | XML* | application/xml |
ey… | JSON, JWT* | application/json |
Base64 a jiná kódování
Base64 není jediný způsob, jak zapsat bajty textem. Jiná kódování jsou buď delší, ale snáz se čtou a přepisují, nebo kratší, ale používají méně běžné znaky.
| Kódování | Znaky | Zvětšení | Typické použití |
|---|---|---|---|
| Hex (Base16) | 0-9, A-F | 100 % | hashe, barvy, výpisy bajtů |
| Base32 | A-Z, 2-7 | 60 % | klíče pro dvoufázové ověření (TOTP) |
| Base58 | 58 znaků bez 0, O, I a l | asi 37 % | adresy kryptoměn, krátké identifikátory |
| Base64 | A-Z, a-z, 0-9, + / | 33 % | přílohy, data URI, API, JWT |
| Base85 (Ascii85) | 85 znaků | 25 % | PDF, PostScript, binární změny v Gitu |
Base64 není šifrování
Base64 dokáže dekódovat kdokoli, a to bez klíče. Nechrání hesla, osobní údaje ani tajné klíče, jen je přepíše do jiné podoby. Podvodníci ho naopak rádi zneužívají: ve phishingových e-mailech a škodlivých skriptech jím skrývají odkazy a kód před jednoduchými filtry. Pokud někde narazíte na nezvykle dlouhý Base64 řetězec, klidně si ho tady dekódujte a podívejte se, co obsahuje. Při dekódování se nic nespouští.
Krátká historie Base64
-
1987
Kódování se poprvé objevilo ve specifikaci zabezpečené pošty PEM (RFC 989) pod názvem printable encoding.
-
1992
Standard MIME (RFC 1341) ho použil pro e-mailové přílohy, zavedl řádky po 76 znacích a dal mu jméno Base64.
-
2003
RFC 3548 popsal Base64 samostatně, mimo e-mail, a přidal variantu pro adresy a názvy souborů.
-
2006
RFC 4648 nahradil předchozí dokument a platí dodnes.
Pro programátory
Base64 v programování a v příkazovém řádku
Takto zakódujete a dekódujete text „Ahoj“ v běžných jazycích. Text s diakritikou vždy nejprve převeďte na bajty v UTF-8, jinak dostanete chybu nebo jiný výsledek.
JavaScript
const base64 = btoa(String.fromCharCode(...new TextEncoder().encode('Ahoj')));
const text = new TextDecoder().decode(Uint8Array.from(atob(base64), (c) => c.charCodeAt(0)));
Samotné btoa('čaj') skončí chybou InvalidCharacterError, protože funkce btoa přijímá jen znaky Latin-1. Nejnovější prohlížeče mají také Uint8Array.prototype.toBase64().
Node.js
Buffer.from('Ahoj', 'utf8').toString('base64');
Buffer.from('QWhvag==', 'base64').toString('utf8');
Buffer.from('Ahoj').toString('base64url');
Node.js zná i kódování base64url, nepotřebujete k tomu žádnou knihovnu.
PHP
base64_encode('Ahoj');
base64_decode('QWhvag==', true);
Druhý parametr true vrátí při neplatném vstupu false. Bez něj PHP nepovolené znaky potichu přeskočí.
Python
import base64
base64.b64encode('Ahoj'.encode()).decode()
base64.b64decode('QWhvag==').decode()
base64.urlsafe_b64encode(b'Ahoj')
Chyba Incorrect padding znamená, že řetězci chybí znaky = na konci.
Java
Base64.getEncoder().encodeToString("Ahoj".getBytes(StandardCharsets.UTF_8));
new String(Base64.getDecoder().decode("QWhvag=="), StandardCharsets.UTF_8);
Pro base64url použijte Base64.getUrlEncoder(), pro e-maily Base64.getMimeEncoder().
C#
Convert.ToBase64String(Encoding.UTF8.GetBytes("Ahoj"));
Encoding.UTF8.GetString(Convert.FromBase64String("QWhvag=="));
Stejné metody fungují v .NET i v PowerShellu.
Linux a macOS
printf 'Ahoj' | base64
echo 'QWhvag==' | base64 -d
base64 < soubor.pdf > soubor.txt
Příkaz echo přidá na konec nový řádek, proto pro kódování použijte printf nebo echo -n. Starší verze macOS místo -d používají -D.
Windows PowerShell
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('Ahoj'))
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('QWhvag=='))
[Convert]::ToBase64String([IO.File]::ReadAllBytes('soubor.pdf'))
V klasickém příkazovém řádku funguje také certutil -encode soubor.pdf soubor.txt, výsledek však obalí řádky BEGIN a END.
Obrázky a SVG v kódu
Obrázek na Base64 v JavaScriptu
const file = document.querySelector('input[type=file]').files[0];
const reader = new FileReader();
reader.onload = () => console.log(reader.result);
reader.readAsDataURL(file);
Metoda readAsDataURL vrátí hotové data URI včetně typu souboru, například data:image/png;base64,iVBORw0KGg….
Tip pro SVG ikony
SVG je text, proto ho při vkládání do CSS nemusíte kódovat do Base64. Stačí ho zakódovat jako URL, například url("data:image/svg+xml,%3Csvg…"). Výsledek je obvykle kratší a ikonu v něm snadno upravíte, třeba změníte barvu. Base64 má u SVG smysl jen tehdy, když systém jiný zápis nepřijme.
Dekódování Base64 souboru v příkazovém řádku
Když máte Base64 uložený v souboru, například z API nebo z logu, dekódujete ho přímo zpět do původního souboru:
- Linux
base64 -d obrazek.txt > obrazek.png- macOS
base64 -d -i obrazek.txt -o obrazek.png- Windows (příkazový řádek)
certutil -decode obrazek.txt obrazek.png- Windows PowerShell
[IO.File]::WriteAllBytes('obrazek.png', [Convert]::FromBase64String((Get-Content obrazek.txt -Raw)))- OpenSSL
openssl base64 -d -A -in obrazek.txt -out obrazek.png
Pokud soubor začíná hlavičkou data URI, například data:image/png;base64,, nejprve ji smažte. Příkaz certutil si poradí i se souborem, který má řádky BEGIN a END.
Časté chyby a jak je opravit
Diakritika se změní na ÄŤ a podobné znaky
Text byl zakódován v UTF-8, ale čtete ho jako Windows-1250, nebo naopak. Slovo čaj v UTF-8 zobrazené jako Windows-1250 vypadá jako ÄŤaj. Pokud text není v UTF-8, tento nástroj ho zkusí přečíst jako Windows-1250 a upozorní vás na to.
InvalidCharacterError v JavaScriptu
Funkce btoa přijímá jen znaky Latin-1, takže u znaků jako č, ž nebo emoji selže. Text nejprve převeďte na bajty pomocí TextEncoder, jako v ukázce výše.
Incorrect padding v Pythonu
Base64 z JWT tokenu nebo z adresy nemá na konci znaky =. Doplňte je, aby délka byla dělitelná čtyřmi. Tento nástroj si je doplní sám.
Znaky + se změnily na mezery
Když Base64 vložíte do adresy bez zakódování, server přečte + jako mezeru a dekódování selže. Hodnotu zakódujte URL enkodérem nebo použijte base64url.
Po dekódování je opět Base64
Text byl zakódován dvakrát, například Ahoj → QWhvag== → UVdodmFnPT0=. Dekódujte ho ještě jednou: tlačítkem Prohodit přesuňte výsledek do vstupu a znovu zvolte Dekódovat.
Obrázek se nezobrazí
Řetězec je zkrácený, chybí mu začátek, nebo obsahuje začátek data URI dvakrát. Porovnejte první znaky s tabulkou výše: PNG musí začínat iVBORw0KGg, JPEG /9j/.
Kdy Base64 použít a kdy ne
Hodí se
- malé ikony a obrázky do pár kilobajtů přímo v CSS nebo HTML
- binární data v JSON, XML nebo v konfiguračním souboru
- klíče, tokeny a podpisy, které musí být obyčejný text
- přenos přes systémy, které zvládnou jen text, například e-mail
Nehodí se
- velké obrázky a videa na webu, které jsou pak o třetinu větší a nedají se samostatně uložit do mezipaměti
- obrázky v e-mailech, Gmail je nezobrazí
- soubory v databázi s binárními sloupci (BLOB), kde Base64 zabere o třetinu víc místa
- ochrana hesel a citlivých údajů, k tomu slouží šifrování nebo hashování
Slovníček pojmů
- Bit
- Nejmenší jednotka dat, nabývá hodnoty 0 nebo 1.
- Bajt
- Skupina osmi bitů, tedy číslo od 0 do 255.
- UTF-8
- Způsob, jak zapsat znaky textu pomocí bajtů. Písmena bez diakritiky zabírají jeden bajt, české znaky dva.
- Padding
- Doplnění výsledku znaky = na délku dělitelnou čtyřmi.
- base64url
- Varianta Base64 se znaky - a _ místo + a /, vhodná do adres a názvů souborů.
- MIME
- Standard pro e-maily, který Base64 používá pro přílohy.
- Data URI
- Zápis souboru přímo v textu ve tvaru data:typ;base64,obsah.
- PEM
- Formát certifikátů a klíčů: Base64 mezi řádky BEGIN a END.
- RFC 4648
- Dokument, který dnes oficiálně definuje Base64, Base32 a Base16.
Související nástroje
Další nástroje pro přípravu, úpravu a kontrolu textu.
FAQ
Co je Base64?
Je Base64 šifrování?
Proč je Base64 delší než původní text?
Co je base64url a kdy ho použít?
+ a / používá - a _ a vynechává koncová =. Používají ji JWT tokeny, OAuth či podpisy v URL. Při dekódování ji tento nástroj rozpozná automaticky.
Jak dekódovat Base64 na obrázek nebo PDF?
Proč se při dekódování zobrazí chyba?
+ / =, u base64url také - _. Mezery a zalomení řádků nevadí. Chybu způsobí jiný znak nebo neúplně zkopírovaný řetězec. JWT token tvoří tři části oddělené tečkou, proto dekódujte každou zvlášť.
Odesílá se můj text nebo soubor na server?
Jak převést obrázek na Base64?
src nebo do CSS. Hodí se pro obrázky o velikosti několika kilobajtů, větší je lepší ponechat jako samostatný soubor.
Proč je na konci Base64 jeden nebo dva znaky =?
Jak dekódovat JWT token?
Proč se text zobrazil s upozorněním na Windows-1250?
Proč jsou hodnoty v Kubernetes Secret v Base64, když to není šifrování?
Jak vygenerovat náhodný klíč v Base64?
openssl rand -base64 32. Oba využívají kryptograficky bezpečný zdroj náhody. Běžné generátory náhodných čísel v programovacích jazycích, například Math.random(), na tajné klíče nepoužívejte.