Migrando do Notion pro Obsidian: Bancos de Dados, Propriedades e Outros Pesadelos Resolvidos

Migrar do Notion pro Obsidian é diferente de migrar do Evernote. O Notion não é só um app de notas — é um banco de dados disfarçado de caderno. Cada página pode ter propriedades, relações, rollups, fórmulas. E quando você exporta, boa parte dessa estrutura vira… bem, texto. Sem banco de dados. Sem relações. Sem rollups.

Mas calma. Não é o fim do mundo. É o começo de um mundo melhor — onde seus dados são seus, vivem em arquivos de texto no seu disco, e não dependem de servidor nenhum pra existir.

Este é o quarto e último post da série Obsidian. Os anteriores:

Pastas coloridas organizadas em prateleira representando reorganização de dados
Bancos de dados viram pastas. Propriedades viram frontmatter. O conteúdo? Continua seu.

O Export do Notion: O Que Você Ganha

O Notion permite exportar em HTML, Markdown ou CSV. Parece bom na teoria. Na prática:

Markdown + CSV (Recomendado)

  1. No Notion: Settings → Settings & Members → Export all workspace content
  2. Formato: Markdown & CSV
  3. Crie seu email de confirmação
  4. Aguarde o email com o link de download (pode demorar horas pra workspaces grandes)

O que você recebe:

Export-1234567890/
├── My Workspace/
│   ├── Page Title abc123.md
│   ├── Database Title xyz789.csv
│   ├── Sub Page def456/
│   │   ├── Another Page ghi789.md
│   │   └── Another Page ghi789_abcdef123456.jpg
│   └── ...

O que funciona:

  • Texto básico (headings, bold, italic, listas)
  • Imagens inline (extraídas como arquivos separados)
  • Código em blocos
  • Checklists
  • A hierarquia de pastas (cada sub-page vira uma subpasta)

O que NÃO funciona direito:

  • Databases → viram CSV separados. As views (Kanban, Calendar, Gallery) desaparecem
  • Relations → perdem a conexão. Ficam como texto solto
  • Rollups e Fórmulas → evaporam
  • Embeds (Google Docs, Figma, etc.) → viram links mortos
  • Synced blocks → dessincronizam (viram cópias independentes)

O Script de Limpeza (Python)

O export do Notion tem um problema chato: os nomes de arquivo são horríveis. Cada arquivo vem com um UUID aleatório no nome:

My Page Title abc123def456789.md
Sub Page xyz987uvw654321.md

Esse script limpa os nomes e remove os UUIDs:

#!/usr/bin/env python3
"""Clean Notion export filenames by removing UUIDs."""
import os
import re

UUID_PATTERN = re.compile(r' [a-f0-9]{32}$')

def clean_filename(name):
    base, ext = os.path.splitext(name)
    clean_base = UUID_PATTERN.sub('', base)
    return clean_base + ext if clean_base != base else name

def process_directory(path):
    renamed = 0
    for root, dirs, files in os.walk(path):
        for f in files:
            old_path = os.path.join(root, f)
            new_name = clean_filename(f)
            if new_name != f:
                new_path = os.path.join(root, new_name)
                if not os.path.exists(new_path):
                    os.rename(old_path, new_path)
                    renamed += 1
    print(f"Renomeados: {renamed} arquivos")

if __name__ == "__main__":
    import sys
    target = sys.argv[1] if len(sys.argv) > 1 else "."
    process_directory(target)
Mulher organizando documentos em escritório moderno representando reorganização
Organizar é o novo começo. O caos é temporário.

Convertendo Databases: A Grande Dor

Se você usava databases do Notion (e quem não usava?), esta é a parte que mais dói. Cada database vira um CSV. Mas no Obsidian, você tem alternativas melhores:

Database → Pasta com YAML Frontmatter

Cada “linha” do database vira uma nota individual com propriedades no frontmatter:

---
type: book
status: reading
tags: [non-fiction, tech]
author: "Cal Newport"
rating: 4
date_started: 2026-03-15
date_finished: 
---

# Deep Work

Minhas notas sobre o livro...

Para buscar e filtrar, use o plugin Dataview:

```dataview
TABLE status, author, rating
FROM "03-recursos/livros"
WHERE type = "book"
SORT rating DESC
```

Isso substitui 90% dos databases do Notion. E é mais flexível — porque cada nota é um arquivo independente, não uma célula trancada num database.

Script: CSV → Markdown com Frontmatter

#!/usr/bin/env python3
"""Convert Notion CSV export to individual Markdown files."""
import csv
import os
import re
import sys

def sanitize(name):
    return re.sub(r'[^\w\s-]', '', name).strip()[:100]

def csv_to_notes(csv_path, output_dir):
    os.makedirs(output_dir, exist_ok=True)
    with open(csv_path, encoding='utf-8') as f:
        reader = csv.DictReader(f)
        fields = reader.fieldnames or []
        
        # Identify title column
        title_col = next((c for c in fields if c.lower() in ['name', 'title', 'nome']), fields[0])
        
        for row in reader:
            title = sanitize(row.get(title_col, 'Untitled'))
            filepath = os.path.join(output_dir, f"{title}.md")
            
            # Build frontmatter
            fm_lines = ['---']
            for col in fields:
                if col == title_col:
                    continue
                val = row.get(col, '').strip()
                if val:
                    fm_lines.append(f'{col}: "{val}"')
            fm_lines.extend(['---', '', f'# {row.get(title_col, title)}', '', ''])
            
            with open(filepath, 'w', encoding='utf-8') as out:
                out.write('\n'.join(fm_lines))
    
    print(f"Convertido: {output_dir}")

if __name__ == "__main__":
    csv_to_notes(sys.argv[1], sys.argv[2])
# Uso:
python3 csv_to_notes.py "Minha Biblioteca xyz123.csv" "./meu-cerebro/03-recursos/livros/"

🧨 O Perrengue do Olivetto

Eu tinha um database no Notion com 180 filmes assistidos. Colunas: título, gênero, nota, data, review. Na migração, virou um CSV com 180 linhas. Rodei o script e gerei 180 notas Markdown com YAML frontmatter. Configurei o Dataview e… boom: tinha a mesma view tabular que tinha no Notion, só que agora cada filme era um arquivo que eu podia linkar, adicionar notas soltas, e conectar com outros conteúdos. O Notion te dá um database. O Obsidian te dá um grafo.

Reconstruindo os Kanban Boards

Se usava Kanban no Notion, o Obsidian tem o plugin Tasks + Projects (ou o Kanban plugin):

  1. Instale o plugin Kanban (Community plugins → Browse → “Kanban”)
  2. Crie um novo board: 01-projetos/kanban.md
  3. Adicione colunas: Backlog, To Do, Doing, Done
  4. Cada card pode linkar pra uma nota: [[Nome da Tarefa]]

O Kanban do Obsidian é mais simples que o do Notion? Sim. Mas é um arquivo Markdown que você pode versionar, buscar com grep, e sincronizar com Git. Try doing that with a Notion database.

Embeds e Arquivos Externos

O Notion ama embeds. Google Docs, Figma, Miro, PDFs, vídeos — tudo vive dentro da página. No Obsidian:

  • PDFs: Copie pra pasta anexos/ e use ![[arquivo.pdf]]
  • Imagens: Mesma coisa — ![[imagem.png]]
  • Vídeos: Use ![[video.mp4]] ou link externo
  • Google Docs/Figma: Viram links — [Nome](https://docs.google.com/...)`. Não é embed, mas funciona

A filosofia do Obsidian é diferente: arquivos locais primeiro, links segundo. Se você quer offline-first, seus arquivos precisam morar no vault.

O Checklist Final da Migração

  • ✅ Exportou tudo do Notion (Markdown + CSV)
  • ✅ Limpou os nomes de arquivo (removeu UUIDs)
  • ✅ Converteu CSVs → notas Markdown com frontmatter
  • ✅ Moveu pra estrutura PARA
  • ✅ Instalou o Dataview (substitui databases)
  • ✅ Reconstruiu Kanban boards com o plugin
  • ✅ Recriou links entre notas com [[backlinks]]
  • ✅ Copiou PDFs e anexos pra pasta anexos/
  • ✅ Reviseu 20 notas aleatórias
  • git add . && git commit -m "cerebro: migração notion completa"
  • ✅ Cancelou a assinatura do Notion (opicional, mas satisfatório)

Notion vs Obsidian: A Tabela Honesta

  • Colaboração em tempo real: Notion ganha. Se sua equipe precisa editar juntos, fica no Notion.
  • Bancos de dados complexos: Notion ganha. Fórmulas, rollups, relations — o Notion é um Airtable disfarçado.
  • Pertencer aos seus dados: Obsidian ganha por nocaute. Seus arquivos, seu disco, suas regras.
  • Offline: Obsidian ganha. Notion sem internet é um peso de papel digital.
  • Velocidade: Obsidian ganha. Abrir um arquivo local é instantâneo. Carregar uma página do Notion… nem tanto.
  • Preço: Obsidian é grátis. Notion Teams é US$ 10/user/mês.
  • Longevidade: Obsidian usa Markdown — formato que vai sobreviver a qualquer app. Notion é proprietário. Se a empresa fechar, seus dados vão junto.

A Série Completa

Se chegou até aqui, você tem tudo que precisa pra construir um segundo cérebro que:

  • Funciona offline
  • Sincroniza entre desktop e Android
  • Nunca perde uma nota (Git versionamento)
  • Aceita migração do Evernote e Notion
  • Custa R$ 0,00

A série completa:

E aí, fez a migração? Conta nos comentários — qual foi a maior dor? O que você perdeu? O que ganhou? A comunidade quer saber (e eu também).

Posts Similares