Szacunek rozmiaru JSON

Wpisz znaki, model i overhead. 1000 i utf8min dają 1000 B. 1000 i utf16 dają 2000 B. 500 i 64 dają 564 B. Heurystyka, nie JSON.stringify.

To znaki razy bajty na znak plus overhead. Kalkulator nie robi JSON.stringify. Narzut Base64 jest na rozmiarze Base64.

Dane

Opcje dodatkowe (opcjonalnie)

Wynik

Wprowadź dane i kliknij Oblicz.

Jak to działa?

Szacunek rozmiaru JSON w tym kalkulatorze mnoży znaki przez model. 1000 i utf8min dają 1000 B. 1000 i utf16 dają 2000 B. 500, utf8min i 64 dają 564 B. utf8min to 1 B/znak, utf16 to 2, utf8max to 4. To nie stringify dokumentu.

Pole json-len jest długością. Select json-encoding w przykładach to utf8min albo utf16. Pole json-overhead dodaje stałe bajty. 1000 × 1 + 0 = 1000. 1000 × 2 = 2000. 500 × 1 + 64 = 564. Custom B/znak nie jest w tych trzech kartach.

1000 B nie jest Blob z JSON.stringify. 2000 B nie schodzi z parsera. 564 B nie jest plikiem z dysku. Wpisujesz długość sam. Kalkulator nie czyta obiektu.

Rozmiar Base64 obok liczy narzut 4 na 3. Token JWT szacuje znaki tokena. Tu 1000 znaków zostaje 1000 B przy utf8min.

Wpisz 1000, zostaw utf8min i overhead 0, potem Oblicz. Wynik to 1000 B. Przecinek nie jest potrzebny. Zero znaków zostawia 0 B. To nie parser JSON.

1000 i utf8min dają 1000 B. 1000 i utf16 dają 2000 B. 500 i 64 dają 564 B. Inny model przy 1000 zmienia kartę.

Wzór

bajty = znaki × B/znak + overhead. utf8min=1, utf16=2, utf8max=4. Heurystyka, nie stringify.

Jak korzystać

  1. Wpisz 1000 znaków i zostaw utf8min oraz overhead 0.
  2. Kliknij Oblicz. Wynik to 1000 B.
  3. 1000 i utf16 dają 2000 B. 500 i overhead 64 dają 564 B.
  4. To znaki razy bajty, nie JSON.stringify.
  5. Narzut Base64 licz na rozmiarze Base64.

1000 znaków utf8min = 1000 B

Znaki razy B/znak plus overhead. 1000 i utf8min dają 1000 B. To nie stringify.

Szacunek
Długość razy model. 1000 i utf16 zostawia 2000 B. Nie parser.
rozmiaru
Wynik w B. 500 i 64 dają 564 B. Nie Blob z stringify.
JSON
Heurystyka z pól. utf8min to 1 B/znak. Kalkulator nie czyta obiektu.

Przykłady

Przykład 1

  • 1000 znaków
  • utf8min
  • overhead 0

1000 B

Jaki rozmiar JSON przy 1000 znakach i utf8min? 1000 B. Znaki razy bajty, nie stringify.

Przykład 2

  • 1000 znaków
  • utf16
  • overhead 0

2000 B

Ile przy 1000 i utf16? 2000 B. Dwa bajty na znak.

Przykład 3

  • 500 znaków
  • utf8min
  • overhead 64

564 B

Ile przy 500 i overhead 64? 564 B.

Powiązane kalkulatory

Najczęstsze pytania

Ile przy 1000 znakach i utf8min?

1000 B. 1000 × 1 + 0. Nie JSON.stringify.

Ile przy 1000 i utf16?

2000 B. Dwa bajty na znak, overhead 0.

Ile przy 500 i overhead 64?

564 B. 500 × 1 + 64.

Czy kalkulator robi stringify?

Nie. Nie ma obiektu i nie ma JSON.stringify. Sama długość.

Co znaczy utf8max?

4 B na znak. Przykłady trzymają utf8min albo utf16.

Po co overhead?

Stałe bajty do długości. 64 przy 500 daje 564 B.

Czy zero znaków liczy?

Tak jako 0 B plus overhead. Bez liczby kalkulator się zatrzymuje.

Gdzie liczysz Base64?

Na rozmiarze Base64. Tu zostaje model B/znak.

Czy to parser JSON?

Nie. Heurystyka znaków. Błędny JSON i tak da te same bajty z długości.

Źródła wiedzy

Kalkulator liczy bity, bajty albo przepustowość z Twoich liczb. Poniżej definicje bitu i SI (GUM).

Strona zaktualizowana w 2026.

Co oznacza rozmiar JSON w praktyce

Rozmiar payloadu to bajty tekstu JSON na przewodzie lub na dysku — nie liczba pól w obiekcie. Ten kalkulator szacuje: liczba znaków × bajty/znak + opcjonalny overhead.

Domyślny model UTF-8 min (1 B/znak ASCII) jest sensowny dla typowych API. To heurystyka: dokładny pomiar to TextEncoder / Buffer.byteLength(JSON.stringify(...)).

Co zwiększa rozmiar payloadu

  • Długie nazwy kluczy powtarzane w każdej pozycji tablicy.
  • Głębokie zagnieżdżenia — każdy poziom dokłada {}, [], przecinki.
  • Długie stringi, szczególnie z escapingiem (", \, kontrolne).
  • Whitespace w pretty-print (spacje, nowe linie) vs zwarta minifikacja.

Pretty JSON vs minified (i vs transfer)

Pretty-print jest do czytania przez człowieka. Na API zwykle wysyłasz minified JSON. Ten kalkulator widzi tylko długość, którą podasz — porównaj obie wersje osobno.

  • Policz znaki pretty (np. w edytorze) → wynik A.
  • Minifikuj (JSON.stringify bez spacji) → wynik B — zwykle wyraźnie mniejszy.
  • Gzip obniża transfer, ale limity gateway często liczą bajty przed kompresją.

Powtarzane klucze vs wartości

Tablica 1000 obiektów z kluczami userId, createdAt, status płaci za każdą nazwę tysiąckrotnie. Skrócenie kluczy albo protokół binarny (Protobuf/MessagePack) tnie ten koszt; JSON zostaje czytelny, ale gadatliwy.

Wartości też ważą: Base64 w polu stringa najpierw puchnie ~33% (osobny kalkulator), potem wchodzi do długości JSON.

Escaping, Unicode i transport

  • UTF-8 min — ASCII = 1 B/znak (typowe API).
  • UTF-8 max — pesymistycznie do 4 B (emoji, rzadkie znaki).
  • UTF-16 — semantyka niektórych stringów w runtime JS; to nie to samo co bajty HTTP body.
  • Escaping cudzysłowów i backslashy wydłuża string ponad „gołą” treść użytkownika.

Przykłady: znaki → szacunek (UTF-8 min)

Wpisz długość w formularzu — tabela pokazuje rząd wielkości.

ScenariuszZnaki (orient.)Szacunek BKomentarz
Mały obiekt API200200ASCII, minified
Pretty 1 obiekt500500whitespace wliczony
Tablica 100× te same klucze80008000klucze ×100
String z wieloma "+escwięcej niż treśćescaping kosztuje

To ilustracje — dokładny wynik zależy od Twojej liczby znaków i modelu.