Загрузить файл
  1. base64hub
  2. Другие BaseN
  3. Base62

Кодировщик и декодер Base62 онлайн

Переведите текст в Base62, кодировку из цифр и букв, на которой построены многие короткие ссылки и идентификаторы. Единого стандартного порядка алфавита у Base62 нет, так что выберите тот, что использует ваша библиотека: 0-9 A-Z a-z или 0-9 a-z A-Z.

Бесплатно без регистрации и ограничений Локально ничего не загружается 2 алфавита 0-9A-Za-z и 0-9a-zA-Z Обновлено 27 окт. 2026 г.
Ввод 0Байты 0 BРезультат 0

Обработка идёт в браузере. Эта страница не может никуда отправить ваши данные – откуда мы это знаем

Как кодировать и декодировать Base62

  1. Введите или вставьте текст в поле Ввод · Текст. Строка Base62 появится в поле Результат · Base62.
  2. Под результатом выберите Алфавит, который использует ваша система: 0-9 A-Z a-z или 0-9 a-z A-Z.
  3. Для числового ID поменяйте меню Из на Целое (большое число) и введите число в десятичной записи. Для сырых байтов выберите Hex или Base64.
  4. Чтобы декодировать, нажмите Base62 → Текст в переключателе направления. Опция Алфавит тогда переедет под поле ввода, и алфавит должен совпадать с тем, которым кодировали.

Два порядка алфавита дают разные результаты

Для Base62 нет RFC, и на практике 62 символа упорядочивают двумя способами. Конвертер поддерживает оба:

АлфавитЗначение AЗначение aHello1000000 как число
0-9 A-Z a-z10365TP3P3v4C92
0-9 a-z A-Z36105tp3p3V4c92

Первый порядок следует порядку ASCII, поэтому закодированные строки одинаковой длины сортируются так же, как числа. Его использует GMP для оснований от 37 до 62. Второй порядок получается, если продолжить строчные a-f из шестнадцатеричной записи; некоторые библиотеки называют его «инвертированным» алфавитом.

В двух результатах регистр каждой буквы инвертирован. Поэтому ошибку легко не заметить: декодирование 5tp3p3V с неверным порядком проходит успешно, но даёт байты 4e 08 14 29 1d вместо Hello. Если декодированное значение похоже на мусор, попробуйте другой порядок, прежде чем подозревать данные.

Base62 для коротких ID и ссылок

Сокращатели ссылок и схемы идентификаторов используют Base62, потому что каждый его символ безопасен в пути URL, в имени файла и при выделении двойным щелчком, а результат получается коротким. ID в базе данных хранится как число, поэтому кодируйте его из Целое (большое число):

ДесятичноеBase62 (0-9A-Za-z)
12521
3843zz
3844100
10000004C92
1234567898M0kX

Семь символов покрывают числа до 62^7 − 1, это примерно 3,5 триллиона. Для случайного ID кодируйте случайные байты: 16-байтный UUID превращается в 21 или 22 символа против 32 в hex.

Короткие последовательные ID выдают, сколько записей существует, и их легко угадать. Если это важно, кодируйте случайные байты, а не счётчик.

Как Base62 обращается с байтами и ведущими нулями

Поскольку 62 – не степень двойки, Base62 не может сопоставлять символам группы бит. Он читает ввод как одно большое число в порядке big-endian и переводит его в систему по основанию 62. Ведущие нулевые байты при этом исчезли бы, поэтому инструмент записывает за каждый из них цифру 0: байты 00 00 кодируются в 00, а 00 ff – в 047.

Библиотеки и здесь расходятся. Многие кодируют только число и отбрасывают ведущие нули, а форматы фиксированной ширины вместо этого дополняют результат до заданной длины. Если принимающая сторона ждёт фиксированную ширину, дополните результат слева нулями 0. Кроме того, время перевода через большое число растёт с квадратом длины ввода, поэтому инструмент ограничивает ввод для Base62 64 КБ.

Base62 в Python

В стандартной библиотеке Python нет Base62. Для целочисленных ID конвертация занимает несколько строк:

ALPHABET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

def b62encode(n: int) -> str:
    if n == 0:
        return ALPHABET[0]
    out = ""
    while n:
        n, r = divmod(n, 62)
        out = ALPHABET[r] + out
    return out

def b62decode(s: str) -> int:
    n = 0
    for ch in s:
        n = n * 62 + ALPHABET.index(ch)
    return n

b62encode(1000000)    # '4C92'
b62decode("8M0kX")    # 123456789

Для другого порядка поменяйте местами два блока букв в ALPHABET. Байты сначала переведите в число через int.from_bytes(data, "big"). Как работать с байтами, показано на странице Python.

Вопросы и ответы

Какой алфавит у Base62?

Десять цифр плюс 26 заглавных и 26 строчных латинских букв: 62 символа, и больше ничего. Цифры всегда идут первыми, а дальше одни библиотеки ставят заглавные (0-9A-Za-z), другие строчные (0-9a-zA-Z).

Чем Base62 отличается от Base64?

Base64 добавляет + и / (или - и _) и дополнение = и работает с фиксированными группами по 6 бит. Base62 использует только буквы и цифры, поэтому его нигде не нужно экранировать, но 62 – не степень двойки, и данные приходится обрабатывать как одно большое число. Результат примерно на 1% длиннее, чем у Base64.

Как закодировать число в Base62?

Выберите в меню Из вариант Целое (большое число) и введите десятичное число. С алфавитом по умолчанию 1000000 превращается в 4C92. Если закодировать число как текст, закодируются символы его цифр.

Важен ли регистр в Base62?

Да. A и a обозначают разные цифры: в порядке по умолчанию 10 и 36. Система, которая приводит URL или идентификаторы к нижнему регистру, испортит строки Base62; если регистр может потеряться, используйте Base36.