Conversor de Bases Numéricas: Binário, Decimal, Hex e Octal

Converta números entre decimal, binário, hexadecimal e octal instantaneamente. Informe o valor e a base de origem e veja todas as representações em paralelo. Processamento 100% local.

Revisão técnica: Cesar Gargiulo (segurança da informação)
Valim, o mascote do ValorFinal, representando a categoria Tecnologia
Base de origem

Exemplos rápidos:

255 em decimal (base 10) é o mesmo número que:

Decimal (base 10)255
Binário (base 2)0b11111111
Hexadecimal (base 16)0xFF
Octal (base 8)0o377

Inteiro exato, calculado com BigInt no seu navegador. Os prefixos 0b, 0x e 0o são a forma de escrever cada base em código.

A conta com o seu número

Decimal para binário: divida por 2 até chegar a zero e guarde os restos

  1. 255 ÷ 2 = 127, resto 1
  2. 127 ÷ 2 = 63, resto 1
  3. 63 ÷ 2 = 31, resto 1
  4. 31 ÷ 2 = 15, resto 1
  5. 15 ÷ 2 = 7, resto 1
  6. 7 ÷ 2 = 3, resto 1
  7. 3 ÷ 2 = 1, resto 1
  8. 1 ÷ 2 = 0, resto 1

Lendo os restos de baixo para cima: 11111111.

Binário para hexadecimal e octal: agrupe os bits a partir da direita

de 4 em 4: 1111 1111 vira F F

de 3 em 3: 011 111 111 vira 3 7 7

Zeros à esquerda completam o primeiro grupo e não mudam o valor.

Os 16 dígitos hexadecimais em binário

Deslize a tabela para o lado: são 4 colunas.

Os dígitos hexadecimais de 0 a F com o valor decimal, os 4 bits em binário e o valor em octal
DecimalBinário (4 bits)HexadecimalOctal
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000810
91001911
101010A12
111011B13
121100C14
131101D15
141110E16
151111F17

Cada dígito hexadecimal é um grupo de 4 bits. Para converter um binário longo, separe de 4 em 4 a partir da direita e troque cada grupo pela linha desta tabela. Linhas convertidas pelo mesmo motor da ferramenta.

Ver a tabela de 0 a 255 em binário, hexadecimal e octal (256 linhas)

Tabela de 0 a 255 em binário, hexadecimal e octal

Deslize a tabela para o lado: são 4 colunas.

Todos os valores de um byte, de 0 a 255, em decimal, binário de 8 bits, hexadecimal de 2 dígitos e octal
DecimalBinário (8 bits)Hexadecimal (2 dígitos)Octal
000000000000
100000001011
200000010022
300000011033
400000100044
500000101055
600000110066
700000111077
8000010000810
9000010010911
10000010100A12
11000010110B13
12000011000C14
13000011010D15
14000011100E16
15000011110F17
16000100001020
17000100011121
18000100101222
19000100111323
20000101001424
21000101011525
22000101101626
23000101111727
24000110001830
25000110011931
26000110101A32
27000110111B33
28000111001C34
29000111011D35
30000111101E36
31000111111F37
32001000002040
33001000012141
34001000102242
35001000112343
36001001002444
37001001012545
38001001102646
39001001112747
40001010002850
41001010012951
42001010102A52
43001010112B53
44001011002C54
45001011012D55
46001011102E56
47001011112F57
48001100003060
49001100013161
50001100103262
51001100113363
52001101003464
53001101013565
54001101103666
55001101113767
56001110003870
57001110013971
58001110103A72
59001110113B73
60001111003C74
61001111013D75
62001111103E76
63001111113F77
640100000040100
650100000141101
660100001042102
670100001143103
680100010044104
690100010145105
700100011046106
710100011147107
720100100048110
730100100149111
74010010104A112
75010010114B113
76010011004C114
77010011014D115
78010011104E116
79010011114F117
800101000050120
810101000151121
820101001052122
830101001153123
840101010054124
850101010155125
860101011056126
870101011157127
880101100058130
890101100159131
90010110105A132
91010110115B133
92010111005C134
93010111015D135
94010111105E136
95010111115F137
960110000060140
970110000161141
980110001062142
990110001163143
1000110010064144
1010110010165145
1020110011066146
1030110011167147
1040110100068150
1050110100169151
106011010106A152
107011010116B153
108011011006C154
109011011016D155
110011011106E156
111011011116F157
1120111000070160
1130111000171161
1140111001072162
1150111001173163
1160111010074164
1170111010175165
1180111011076166
1190111011177167
1200111100078170
1210111100179171
122011110107A172
123011110117B173
124011111007C174
125011111017D175
126011111107E176
127011111117F177
1281000000080200
1291000000181201
1301000001082202
1311000001183203
1321000010084204
1331000010185205
1341000011086206
1351000011187207
1361000100088210
1371000100189211
138100010108A212
139100010118B213
140100011008C214
141100011018D215
142100011108E216
143100011118F217
1441001000090220
1451001000191221
1461001001092222
1471001001193223
1481001010094224
1491001010195225
1501001011096226
1511001011197227
1521001100098230
1531001100199231
154100110109A232
155100110119B233
156100111009C234
157100111019D235
158100111109E236
159100111119F237
16010100000A0240
16110100001A1241
16210100010A2242
16310100011A3243
16410100100A4244
16510100101A5245
16610100110A6246
16710100111A7247
16810101000A8250
16910101001A9251
17010101010AA252
17110101011AB253
17210101100AC254
17310101101AD255
17410101110AE256
17510101111AF257
17610110000B0260
17710110001B1261
17810110010B2262
17910110011B3263
18010110100B4264
18110110101B5265
18210110110B6266
18310110111B7267
18410111000B8270
18510111001B9271
18610111010BA272
18710111011BB273
18810111100BC274
18910111101BD275
19010111110BE276
19110111111BF277
19211000000C0300
19311000001C1301
19411000010C2302
19511000011C3303
19611000100C4304
19711000101C5305
19811000110C6306
19911000111C7307
20011001000C8310
20111001001C9311
20211001010CA312
20311001011CB313
20411001100CC314
20511001101CD315
20611001110CE316
20711001111CF317
20811010000D0320
20911010001D1321
21011010010D2322
21111010011D3323
21211010100D4324
21311010101D5325
21411010110D6326
21511010111D7327
21611011000D8330
21711011001D9331
21811011010DA332
21911011011DB333
22011011100DC334
22111011101DD335
22211011110DE336
22311011111DF337
22411100000E0340
22511100001E1341
22611100010E2342
22711100011E3343
22811100100E4344
22911100101E5345
23011100110E6346
23111100111E7347
23211101000E8350
23311101001E9351
23411101010EA352
23511101011EB353
23611101100EC354
23711101101ED355
23811101110EE356
23911101111EF357
24011110000F0360
24111110001F1361
24211110010F2362
24311110011F3363
24411110100F4364
24511110101F5365
24611110110F6366
24711110111F7367
24811111000F8370
24911111001F9371
25011111010FA372
25111111011FB373
25211111100FC374
25311111101FD375
25411111110FE376
25511111111FF377

Um byte tem 8 bits e vai de 0 a 255: é o tamanho de um octeto de endereço IP e de um canal de cor em CSS. Linhas convertidas pelo mesmo motor da ferramenta.

Em resumo

Binário, octal, decimal e hexadecimal são quatro jeitos de escrever o mesmo número inteiro, com 2, 8, 10 e 16 símbolos. O valor não muda com a escrita: 255 é 11111111 em binário, FF em hexadecimal e 377 em octal. Cada dígito hexadecimal corresponde a exatamente 4 bits e cada dígito octal a 3 bits, por isso a conversão entre binário, hexadecimal e octal se faz agrupando os bits a partir da direita, sem passar pelo decimal. Um byte vai de 0 a 255 e cabe em 8 bits ou em 2 dígitos hexadecimais, a escrita usada em octeto de endereço IP, em máscara de rede e em cor de CSS.

O conversor aceita até 64 caracteres em qualquer das quatro bases, com sinal de menos quando o número é negativo, e faz a conta com BigInt, o inteiro sem limite de precisão do JavaScript. Por isso 9007199254740993, que é 2 elevado a 53 mais 1, converte exato. O tipo Number, que segue a norma IEEE 754 de ponto flutuante, guarda esse mesmo número como 9007199254740992. A conversão roda no seu navegador, e o valor digitado não sai dele.

Outras ferramentas de dados e formatos

  • Formatador de JSONFormate, valide e minifique JSON sem que um número grande mude de valor nem uma chave repetida desapareça. O erro vem com a linha e a coluna. Tudo no seu navegador.
  • Conversor de dadosConverta CSV, JSON, YAML e XML sem perder dado: CPF com zero na frente e número grande continuam inteiros, e toda transformação é avisada. Tudo no seu navegador.
  • CSV para JSONCole o CSV e receba o JSON no navegador, com o delimitador reconhecido sozinho, com ou sem cabeçalho, prévia em tabela e download local. CPF com zero à frente e número grande continuam intactos.
  • Codificador Base64Codifique texto para Base64 ou decodifique Base64 para texto diretamente no navegador. Suporte completo a UTF-8, emojis e caracteres acentuados. Processamento 100% local.
  • Codificar e decodificar URLCodifique, decodifique e analise URLs completas no navegador. Separa protocolo, host, porta, caminho, query string e fragmento. Usa APIs nativas, processamento 100% local, sem fetch externo.
  • Conversor de timestamp UnixConverta Timestamp Unix para data/hora legível ou vice-versa. Suporte a segundos e milissegundos. Exibe ISO 8601, UTC, data e hora local. Processamento 100% local no navegador.

Todas as ferramentas, por tarefa, estão em ferramentas de tecnologia online.

Gostou? Mostre pra todo mundo

Gere um card bonito com a marca do ValorFinal para postar nos Stories ou mandar no WhatsApp. Nada que você digitou aparece no card.

Coloque no seu site

Converter de base é reescrever o mesmo número com outra quantidade de símbolos: 2 no binário, 8 no octal, 10 no decimal e 16 no hexadecimal. O valor não muda, só a escrita: 255, FF, 11111111 e 377 são o mesmo número.

Como funciona a conversão entre bases numéricas

A leitura usa notação posicional: cada dígito vale ele mesmo multiplicado pela base elevada à sua posição, contando da direita para a esquerda. No binário 1010, isso é 1x8 mais 0x4 mais 1x2 mais 0x1, ou seja, 10. Na prática, a conta é feita num acumulador que é multiplicado pela base e somado ao próximo dígito.

A escrita na outra base é o caminho inverso, por divisões sucessivas: o resto de cada divisão pela base nova, lido de baixo para cima, forma o número. O acumulador é um BigInt, o inteiro de precisão arbitrária do JavaScript, e é ele que garante que nada seja truncado acima de 2 elevado a 53. Entre binário, hexadecimal e octal existe um atalho: como 16 e 8 são potências de 2, basta agrupar os bits de 4 em 4 ou de 3 em 3.

O sinal de menos é separado antes da conta e recolocado depois, igual nas quatro bases. Para ver os octetos de um endereço IP e da máscara em binário, use a calculadora de sub-rede IPv4, que mostra os 32 bits com a parte de host destacada. A leitura de uma máscara octeto por octeto está no guia como calcular máscara de rede e sub-rede. Para o octal no dia a dia, a calculadora de permissões chmod traduz números como 755 e 644 em leitura, escrita e execução.

Fórmula

valor = soma de (dígito[i] x base^i), i contado da direita

escrita na base nova = restos das divisões sucessivas, de baixo para cima

1 dígito hexadecimal = 4 bits · 1 dígito octal = 3 bits

Base: notação posicional e a norma IEEE 754, que explica por que o ponto flutuante do JavaScript perde exatidão acima de 2 elevado a 53. Conversão determinística e local no navegador.

Limitações

  • Trata números inteiros. Fração em outra base (como 0,101 em binário) e notação científica não são convertidas.
  • Aceita apenas as bases 2, 8, 10 e 16, que são as usadas em computação. Bases arbitrárias, como a 36, ficam de fora.
  • O campo aceita até 64 caracteres, o que já cobre um inteiro de 256 bits em hexadecimal.
  • Negativo é exibido com sinal, e não em complemento de dois. Para ver a representação binária que a máquina guarda de um inteiro com sinal, o complemento precisa do tamanho da palavra (8, 16, 32 ou 64 bits), que esta ferramenta não pede.
  • Não traduz texto em binário. A ferramenta converte números; letra em binário depende da tabela de caracteres usada (ASCII, UTF-8), que é outra conta.

Coloque esta ferramenta no seu site, de graça

Tem site, blog ou loja virtual? Esta ferramenta tem uma versão para incorporar: você copia um código e cola no seu HTML. Sem cadastro, sem mensalidade e sem limite de acessos, e ela roda no navegador de quem visita o seu site.

Conversor binário, decimal e hexadecimal para sitever todas as ferramentas para site

Calculadoras relacionadas

Guias sobre este tema

ValorFinal VIP: Sem anúncios, até 500 cenários salvos e comparação de cenários lado a lado.

Conversão auditável, com o fator de conversão à vista

Atualizado em . Fontes: IEEE 754 / MDN Web Docs / notação posicional.

Processamento local: esta ferramenta roda no seu navegador e nada é enviado a servidores automaticamente.

Como validamos

Referências técnicas

Links externos para o que foi consultado na construção desta página, com a natureza de cada fonte identificada. O conteúdo delas pode mudar sem aviso; em caso de divergência, vale sempre a fonte primária.

Incorpore esta calculadora no seu site (grátis)

Copie e cole o código no seu site. A calculadora se atualiza sozinha. O crédito ao ValorFinal vem junto do código e a gente agradece quem mantém, mas ele é opcional: pode remover sem perder o widget. O link sai com rel="nofollow", ou seja, não transfere autoridade de busca para a gente.

Perguntas frequentes

O que é o sistema de numeração binário?

O sistema binário, ou base 2, escreve qualquer número só com os dígitos 0 e 1. É a escrita nativa dos computadores, porque o circuito guarda cada dígito como um de dois estados elétricos. Cada posição vale o dobro da posição à direita: 1, 2, 4, 8, 16 e assim por diante. O número 255 em decimal é 11111111 em binário, oito dígitos 1, que é o maior valor que cabe num byte.

O que é o sistema hexadecimal e onde ele é usado?

O hexadecimal, ou base 16, usa os dígitos de 0 a 9 e as letras de A a F, que valem de 10 a 15. Ele aparece em cor de CSS (#FF8800), em endereço de memória (0x1A3F), em endereço MAC, em IPv6 e em hash. O motivo é prático: cada dígito hexadecimal corresponde a exatamente 4 bits, então um byte inteiro cabe em 2 dígitos. 255 em decimal é FF em hexadecimal e 11111111 em binário.

O que é o sistema octal e onde ele aparece?

O octal, ou base 8, usa os dígitos de 0 a 7, e cada dígito corresponde a exatamente 3 bits. O uso mais comum hoje é a permissão de arquivo no Linux: no chmod 755, cada dígito é um trio de bits de leitura, escrita e execução. O 755 em octal é 111101101 em binário, ou seja, 111 101 101, que o sistema mostra como rwxr-xr-x. Em código, o mesmo número se escreve 0o755 em Python e em JavaScript.

Como funciona a conversão entre bases?

Cada dígito do valor informado entra num acumulador inteiro, da esquerda para a direita: o acumulado é multiplicado pela base e somado ao dígito atual. Com o número inteiro em mãos, ele é reescrito em cada uma das quatro bases. Por exemplo, o binário 1010 vira 10 em decimal e A em hexadecimal. O acumulador usa BigInt, o tipo de inteiro de precisão arbitrária do JavaScript, e por isso a conta não perde casas.

Como converter decimal para binário à mão?

Divida o número por 2, anote o resto, e repita com o quociente até chegar a zero. Os restos lidos de baixo para cima formam o binário. Com 200, os dividendos são 200, 100, 50, 25, 12, 6, 3, 1, e os restos saem 0, 0, 0, 1, 0, 0, 1, 1. Lidos de trás para a frente, dão 11001000. Para conferir, some as posições que têm 1: 128 + 64 + 8 = 200. O quadro A conta com o seu número, abaixo do resultado, faz essa lista para qualquer valor de até 16 bits.

Como converter binário para hexadecimal sem passar pelo decimal?

Separe os bits de 4 em 4 a partir da direita e troque cada grupo pelo dígito hexadecimal correspondente, que está na tabela dos 16 dígitos desta página. O binário 11001000 vira 1100 1000, e cada grupo vira C e 8: C8. Para o octal, o grupo é de 3 bits: 011 001 000 vira 310. Se o primeiro grupo ficar incompleto, complete com zeros à esquerda, que não mudam o valor.

O que significam os prefixos 0b, 0x e 0o no resultado?

São a forma de dizer, dentro do código, em que base o número está escrito. 0b indica binário, 0x indica hexadecimal e 0o indica octal; sem prefixo, o número é decimal. Em JavaScript e em Python, 0xFF, 0b11111111 e 0o377 valem todos 255. A ferramenta mostra o prefixo em cinza e menor, para separar a marca da base dos dígitos do número. Num negativo, o sinal vem antes do prefixo: -0b1010 é o -10 escrito em binário.

Esta ferramenta converte números negativos?

Sim, em todas as quatro bases, com o sinal de menos à esquerda. Até setembro de 2026 o negativo era aceito só em decimal e hexadecimal: a ferramenta convertia -10 em -1010 binário e depois recusava esse mesmo -1010 quando ele voltava como entrada, o que quebrava a ida e volta. Agora as quatro bases seguem a mesma regra, e o zero nunca sai com sinal: -0 é exibido como 0, porque -0 não é notação de inteiro em base nenhuma.

Quais são os limites desta ferramenta?

O limite é o tamanho do campo, 64 caracteres, e não a precisão da conta. Com BigInt não há arredondamento em número grande: 9007199254740993, que é 2 elevado a 53 mais 1, converte exato. A versão anterior passava por Number e devolvia 9007199254740992 sem avisar, um dígito errado com cara de resposta certa. Números fracionários não são convertidos: a ferramenta trata inteiros.

Por que 2 elevado a 53 é a fronteira em JavaScript?

Porque o tipo numérico padrão da linguagem é o ponto flutuante de dupla precisão do IEEE 754, que tem 53 bits de precisão na parte significativa: 52 guardados e 1 implícito. Até 9007199254740991 todo inteiro tem representação exata; acima disso, alguns inteiros deixam de existir no tipo e o valor mais próximo é usado no lugar, silenciosamente. É por isso que a conversão aqui usa BigInt, o inteiro de precisão arbitrária, que não arredonda.

O que mostra o quadro A conta com o seu número?

É a conta que a ferramenta fez, escrita para você refazer no papel. Quando a entrada não é decimal, ele mostra a leitura posicional: cada dígito vezes a base elevada à posição, e a soma. Quando a saída binária é curta, mostra as divisões sucessivas por 2 com os restos. E mostra os bits agrupados de 4 em 4 e de 3 em 3, que é como o binário vira hexadecimal e octal. Acima de 32 bits os grupos saem do quadro, porque não caberiam numa linha do celular, mas o resultado continua exato.

Por que o 255 aparece tanto em rede e em cor?

Porque 255 é o maior valor de um byte: 11111111 em binário, FF em hexadecimal. Um octeto de endereço IP é um byte, então cada um dos quatro números vai de 0 a 255, e a máscara 255.255.255.0 tem os três primeiros octetos com todos os bits em 1. Em cor de CSS, cada canal (vermelho, verde e azul) também é um byte, e #FFFFFF é o branco, com os três canais em 255.