Não cobram da mesma forma: o Turso cobra por linhas lidas e gravadas, o Supabase por plano, computação e disco; para uma carga de 12 GB e 4.000 milhões de leituras, o Turso Scaler custa $24,92 e o Supabase Pro cerca de $25,50.
1. Dois modelos diferentes, não dois preços comparáveis#
Turso e Supabase resolvem o problema do banco de dados gerenciado com ideias diferentes. O Turso oferece bancos compatíveis com SQLite e cobra por linhas lidas e gravadas mais armazenamento. O Supabase oferece PostgreSQL com autenticação, arquivos e funções, e cobra um plano mensal mais a computação do projeto, o disco e a saída de dados.
| Aspecto | Turso | Supabase |
|---|---|---|
| Motor | Compatível com SQLite | PostgreSQL |
| Como cobra | Plano mensal mais linhas lidas e gravadas e armazenamento | Plano mensal mais computação do projeto, disco e saída de dados |
| Unidade que cresce com o uso | Linhas lidas e gravadas | Tamanho da instância, disco e egress |
| Vários bancos de dados | 100 no Free; ilimitados nos planos pagos | Um projeto por banco; o Free permite 2 ativos |
| Inclui também | Bancos leves e leituras perto do usuário | Autenticação, armazenamento de arquivos e funções |
| Restauração | PITR de 1 a 90 dias conforme o plano | Backups diários no Pro; PITR como complemento pago |
Por isso comparar só o preço inicial engana: o que importa é o que cresce com o seu uso. A tabela resume as diferenças de modelo; os preços são os das páginas oficiais de cada provedor, lidas em 17 de outubro de 2026.
Para se aprofundarSupabase Free vs Pro: diferenças, limites e quando mudar de plano
Documentação: Turso: preços ↗ · Supabase: preços e planos ↗
2. Os planos do Turso#
O Turso tem quatro planos com cotas incluídas e um preço de excedente por unidade. Os pagos permitem um número ilimitado de bancos de dados. Os preços estão em dólares por mês.
| Plano | Preço | Bancos de dados | Armazenamento | Linhas lidas | Linhas gravadas | Restauração (PITR) |
|---|---|---|---|---|---|---|
| Free | $0 | 100 | 5 GB | 500 milhões | 10 milhões | 1 dia |
| Developer | $4,99 por mês | Ilimitados | 9 GB (+$0,75/GB) | 2,5 bilhões (+$1 por bilhão) | 25 milhões (+$1 por milhão) | 10 dias |
| Scaler | $24,92 por mês | Ilimitados | 24 GB (+$0,50/GB) | 100 bilhões (+$0,80 por bilhão) | 100 milhões (+$0,80 por milhão) | 30 dias |
| Pro | $416,58 por mês | Ilimitados | 50 GB (+$0,45/GB) | 250 bilhões (+$0,75 por bilhão) | 250 milhões (+$0,75 por milhão) | 90 dias |
Os preços do Supabase estão no guia de preços do Supabase e na comparação Free vs Pro. Resumindo: o Free é grátis com 500 MB e 2 projetos ativos; o Pro parte de $25 por mês com $10 de créditos de computação e 8 GB incluídos.
Para se aprofundarPreços de bancos de dados gerenciados em 2026: Neon, Supabase, PlanetScale, Turso e Cloudflare D1
Documentação: Turso: preços ↗
3. Três cargas calculadas#
Para ver como cada modelo se comporta, o código calcula o melhor plano do Turso e o custo do Supabase Pro para três cargas. É uma estimativa: o Supabase não cobra por linha, mas a capacidade depende da computação, e o Turso não reserva computação. O exemplo grande inclui $50 extras de computação (instância Medium).
TURSO = { # plan: (base, GB incl., leituras incl. em M, gravações incl. em M, USD/GB extra, USD por 1.000 M de leituras extra, USD por M de gravação extra)
"Free": (0.00, 5, 500, 10, None, None, None),
"Developer": (4.99, 9, 2_500, 25, 0.75, 1.00, 1.00),
"Scaler": (24.92, 24, 100_000, 100, 0.50, 0.80, 0.80),
"Pro": (416.58, 50, 250_000, 250, 0.45, 0.75, 0.75),
}
def custo_turso(gb, leituras_m, gravacoes_m):
melhor = None
for plan, (base, gb_inc, leit_inc, grav_inc, r_gb, r_leit, r_grav) in TURSO.items():
if r_gb is None: # Free: só se couber no que está incluído
if gb > gb_inc or leituras_m > leit_inc or gravacoes_m > grav_inc:
continue
total = base
else:
total = (base + max(0, gb - gb_inc) * r_gb
+ max(0, leituras_m - leit_inc) / 1_000 * r_leit
+ max(0, gravacoes_m - grav_inc) * r_grav)
if melhor is None or total < melhor[1]:
melhor = (plan, total)
return melhor
def custo_supabase_pro(gb, computacao_extra=0.0):
return 25.0 + computacao_extra + max(0, gb - 8) * 0.125
cargas = [("Pequena", 2, 200, 5, 0.0), ("Média", 12, 4_000, 60, 0.0), ("Grande", 40, 30_000, 300, 50.0)]
for nome, gb, leituras_m, gravacoes_m, computacao_extra in cargas:
plan, total = custo_turso(gb, leituras_m, gravacoes_m)
print(f"{nome}: Turso {plan} {total:,.2f} | Supabase Pro {custo_supabase_pro(gb, computacao_extra):,.2f}")| Carga | Armazenamento | Leituras por mês | Gravações por mês | Turso (melhor plano) | Supabase Pro |
|---|---|---|---|---|---|
| Pequena | 2 GB | 200 milhões | 5 milhões | Free · $0 | $25 (Micro) |
| Média | 12 GB | 4.000 milhões | 60 milhões | Scaler · $24,92 | $25,50 (Micro) |
| Grande | 40 GB | 30.000 milhões | 300 milhões | Scaler · $192,92 | $79 (Medium) |
Com cargas pequenas, o Turso Free não custa nada e o Supabase precisa do Pro porque 2 GB superam os 500 MB do Free. Na carga média os preços quase coincidem. Na grande, a cobrança por gravações do Turso domina ($160 dos $192,92) enquanto o Supabase Pro com computação Medium fica em $79: ali pesa mais a capacidade de que você precisa do que o preço por linha.
4. Qual escolher conforme o seu caso#
Não há um vencedor geral. A tabela transforma o critério em decisões.
| Se o seu caso é… | Olhe primeiro | Costuma servir |
|---|---|---|
| Você precisa de PostgreSQL, extensões ou autenticação integrada | O motor e o que vem incluído | Supabase |
| Muitos bancos pequenos (por cliente ou por tenant) | O limite de bancos e a cobrança por linha | Turso |
| Leituras muito altas com gravações moderadas | O preço por bilhão de linhas lidas | Turso |
| Carga previsível e SQL avançado | Um plano fixo com computação reservada | Supabase |
| Protótipo sem custo | Os limites do plano gratuito de cada um | Qualquer um; compare 500 MB e 5 GB |
Antes de decidir, estime suas linhas lidas e gravadas por mês: é o dado que mais muda o custo do Turso. Para o Supabase, estime o tamanho do disco e a computação.
5. Se você migrar entre os dois#
Passar de SQLite para PostgreSQL (ou o contrário) não é só trocar a string de conexão.
- Tipos de dados: o PostgreSQL é rígido com tipos; o SQLite é mais flexível. Revise datas, booleanos e inteiros grandes.
- Funções e extensões: o que depende de extensões do PostgreSQL não existe no SQLite.
- Concorrência e transações: os modelos de bloqueio são diferentes; teste suas gravações concorrentes.
- Ferramentas e ORM: confirme que o seu ORM suporta os dois dialetos e teste as migrações em um ambiente de teste.
Para se aprofundarPostgreSQL: encontre o índice certo com EXPLAIN
Documentação: SQLite: documentação oficial ↗
6. Mantenha seus números em dia#
Planos e cotas mudam. Os números deste guia são os das páginas oficiais em 17 de outubro de 2026; confirme as condições antes de decidir.
- Anote a data de leitura de cada tarifa.
- Meça suas linhas lidas e gravadas reais durante um mês antes de escolher um plano do Turso.
- Compare mais opções no comparador de bancos de dados da Codifly.
Fontes e escopo
Documentação consultada em 17 de outubro de 2026. Os exemplos e critérios de decisão são propostas editoriais; adapte-os ao contrato da sua aplicação e valide-os no seu ambiente de testes autorizado.