ipynb to pdf

Sobre

Construído sobre uma única restrição: seu notebook nunca sai da sua máquina.

Este site converte um notebook do Jupyter em PDF sem enviá-lo e sem pedir que você instale nada. Veja o que isso significa na prática, e como a conversão é montada.

Nada é enviado

O notebook é analisado, paginado e rasterizado na aba. Não existe endpoint de conversão para onde enviá-lo.

Sem conta

Sem cadastro, sem cota, sem limites para liberar. Abra a página e converta quantos notebooks quiser.

Sem marca d’água

O PDF carrega o nome do notebook e os números de página — nunca um logotipo, um selo ou uma cobrança sobre o seu trabalho.

Sem rastreamento

Sem script de análise, sem pixel de publicidade, sem gravador de sessão. Nada observa como a ferramenta é usada.

Por que isto existe

Transformar um notebook em PDF normalmente significa instalar algo. O jupyter nbconvert --to pdf espera pandoc mais uma distribuição TeX completa — TeX Live, MacTeX ou MiKTeX — e para com “xelatex not found” quando eles faltam. As alternativas hospedadas aceitam um arquivo, enviam a um servidor e devolvem um download; tudo bem até o notebook ser um trabalho de cliente sob NDA ou um conjunto de dados que você não pode mover.

Este site foi construído para eliminar os dois requisitos ao mesmo tempo: nada para instalar e nada para enviar.

O que o site é

Um site estático. Não tem servidor de aplicação, nem endpoint de conversão, nem banco de dados. O conversor é um pacote JavaScript que o navegador baixa uma vez junto com a página; toda conversão depois disso acontece na aba em que você está lendo isto.

É por isso que também não há cadastro, nem fila, nem paywall por tamanho de arquivo. Não há infraestrutura por conversão para pagar, então não há nada para faturar.

Como a conversão funciona

O notebook é lido do disco com a File API do navegador e analisado como JSON — nbformat 4, mais os arquivos nbformat 3 mais antigos que guardam suas células em worksheets. O markdown é renderizado com marked e higienizado com DOMPurify, a cor de sintaxe vem de highlight.js, o LaTeX é composto com KaTeX, e imagens guardadas como anexos do notebook são decodificadas de base64.

Cada bloco renderizado é medido em uma cópia oculta do documento, depois rasterizado com html2canvas-pro e montado em páginas com jsPDF. Imprimir para PDF segue o outro caminho: o mesmo documento paginado é entregue ao sistema de impressão do navegador, que mantém o texto selecionável e pesquisável.

O que foi deixado de fora de propósito

Sem endpoint de envio, sem sistema de contas, sem renderizador no servidor, sem análise de audiência, sem publicidade e sem marca d’água na saída. Cada um desses seria fácil de adicionar — e cada um traria uma razão para guardar algo sobre você ou seu notebook.

Para quem é

Estudantes que entregam exercícios, analistas que compartilham um resultado com quem não usa Jupyter, engenheiros que anexam um relatório a um ticket, professores que distribuem exercícios resolvidos em páginas em vez de um link para um kernel vivo.

A única suposição da ferramenta é que você quer que o notebook se leia como um documento: código, gráficos e tabelas em páginas que quebram onde o conteúdo manda.

Independência e marcas

Jupyter, JupyterLab, Google Colab, Kaggle, Deepnote e Visual Studio Code são marcas de seus respectivos proprietários. Este site é independente e não é afiliado, endossado ou patrocinado pelo Project Jupyter ou por qualquer fornecedor de notebooks citado nele.

Como é pago

O site é gratuito e não carrega publicidade. Custa uma conta de hospedagem estática, que quem mantém paga, e não há plano premium esperando para destravar nem funcionalidade paga escondida da gratuita.

Como entrar em contato

Perguntas, relatórios de bugs e correções são todos bem-vindos. A página de contato explica quais detalhes fazem um relatório ser acionável — e por que você nunca precisa enviar o notebook.

Pronto quando você estiver.

Escolha um notebook e o PDF geralmente fica pronto antes de você terminar de ler a linha de progresso.