No cobran lo mismo: Turso cobra por filas leídas y escritas, Supabase por plan, cómputo y disco; para una carga de 12 GB y 4.000 millones de lecturas, Turso Scaler cuesta $24,92 y Supabase Pro unos $25,50.
1. Dos modelos distintos, no dos precios comparables#
Turso y Supabase resuelven el problema de una base de datos administrada con ideas distintas. Turso ofrece bases compatibles con SQLite y cobra por filas leídas y escritas más almacenamiento. Supabase ofrece PostgreSQL con autenticación, archivos y funciones, y cobra un plan mensual más el cómputo del proyecto, el disco y la salida de datos.
| Aspecto | Turso | Supabase |
|---|---|---|
| Motor | Compatible con SQLite | PostgreSQL |
| Cómo cobra | Plan mensual más filas leídas y escritas y almacenamiento | Plan mensual más cómputo del proyecto, disco y salida de datos |
| Unidad que crece con tu uso | Filas leídas y escritas | Tamaño de instancia, disco y egress |
| Varias bases de datos | 100 en Free; sin límite en los planes de pago | Un proyecto por base; Free permite 2 activos |
| Incluye además | Bases de datos ligeras y lecturas cercanas al usuario | Autenticación, almacenamiento de archivos y funciones |
| Restauración | PITR de 1 a 90 días según el plan | Respaldos diarios en Pro; PITR como complemento de pago |
Por eso comparar solo el precio inicial engaña: lo que importa es qué crece con tu uso. La tabla resume las diferencias de modelo; los precios son los de las páginas oficiales de cada proveedor, leídas el 17 de octubre de 2026.
Para profundizarSupabase Free vs Pro: diferencias, límites y cuándo pasar de plan
Documentación: Turso: precios ↗ · Supabase: precios y planes ↗
2. Los planes de Turso#
Turso tiene cuatro planes con cuotas incluidas y un precio de excedente por unidad. Los de pago permiten un número ilimitado de bases de datos. Los precios están en dólares al mes.
| Plan | Precio | Bases de datos | Almacenamiento | Filas leídas | Filas escritas | Restauración (PITR) |
|---|---|---|---|---|---|---|
| Free | $0 | 100 | 5 GB | 500 millones | 10 millones | 1 día |
| Developer | $4,99 al mes | Sin límite | 9 GB (+$0,75/GB) | 2.500 millones (+$1 por mil millones) | 25 millones (+$1 por millón) | 10 días |
| Scaler | $24,92 al mes | Sin límite | 24 GB (+$0,50/GB) | 100.000 millones (+$0,80 por mil millones) | 100 millones (+$0,80 por millón) | 30 días |
| Pro | $416,58 al mes | Sin límite | 50 GB (+$0,45/GB) | 250.000 millones (+$0,75 por mil millones) | 250 millones (+$0,75 por millón) | 90 días |
Los precios de Supabase están en la guía de precios de Supabase y en la comparación Free vs Pro. Resumido: Free es gratis con 500 MB y 2 proyectos activos; Pro parte de $25 al mes con $10 de créditos de cómputo y 8 GB incluidos.
Para profundizarPrecios de bases de datos administradas en 2026: Neon, Supabase, PlanetScale, Turso y Cloudflare D1
Documentación: Turso: precios ↗
3. Tres cargas calculadas#
Para ver cómo se comporta cada modelo, el código calcula el mejor plan de Turso y el costo de Supabase Pro para tres cargas. Es una estimación: Supabase no cobra por filas pero su capacidad depende del cómputo, y Turso no reserva cómputo. El ejemplo grande incluye $50 extra de cómputo (instancia Medium).
TURSO = { # plan: (base, GB incl., lecturas incl. en M, escrituras incl. en M, USD/GB extra, USD por 1.000 M lecturas extra, USD por M escritura 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 costo_turso(gb, lecturas_m, escrituras_m):
mejor = None
for plan, (base, gb_inc, lec_inc, esc_inc, r_gb, r_lec, r_esc) in TURSO.items():
if r_gb is None: # Free: solo si cabe dentro de lo incluido
if gb > gb_inc or lecturas_m > lec_inc or escrituras_m > esc_inc:
continue
total = base
else:
total = (base + max(0, gb - gb_inc) * r_gb
+ max(0, lecturas_m - lec_inc) / 1_000 * r_lec
+ max(0, escrituras_m - esc_inc) * r_esc)
if mejor is None or total < mejor[1]:
mejor = (plan, total)
return mejor
def costo_supabase_pro(gb, computo_extra=0.0):
return 25.0 + computo_extra + max(0, gb - 8) * 0.125
cargas = [("Pequeña", 2, 200, 5, 0.0), ("Mediana", 12, 4_000, 60, 0.0), ("Grande", 40, 30_000, 300, 50.0)]
for nombre, gb, lecturas_m, escrituras_m, computo_extra in cargas:
plan, total = costo_turso(gb, lecturas_m, escrituras_m)
print(f"{nombre}: Turso {plan} {total:,.2f} | Supabase Pro {costo_supabase_pro(gb, computo_extra):,.2f}")| Carga | Almacenamiento | Lecturas al mes | Escrituras al mes | Turso (mejor plan) | Supabase Pro |
|---|---|---|---|---|---|
| Pequeña | 2 GB | 200 millones | 5 millones | Free · $0 | $25 (Micro) |
| Mediana | 12 GB | 4.000 millones | 60 millones | Scaler · $24,92 | $25,50 (Micro) |
| Grande | 40 GB | 30.000 millones | 300 millones | Scaler · $192,92 | $79 (Medium) |
Con cargas pequeñas, Turso Free no cuesta nada y Supabase necesita Pro porque 2 GB superan los 500 MB de Free. En la carga mediana los precios casi coinciden. En la grande, el cobro por escrituras de Turso domina ($160 de las $192,92) mientras que Supabase Pro con cómputo Medium queda en $79: allí pesa más la capacidad que necesitas que el precio por fila.
4. Cuál elegir según tu caso#
No hay un ganador general. La tabla traduce el criterio en decisiones.
| Si tu caso es… | Mira primero | Suele encajar |
|---|---|---|
| Necesitas PostgreSQL, extensiones o autenticación integrada | El motor y lo que viene incluido | Supabase |
| Muchas bases pequeñas (por cliente o por tenant) | El límite de bases de datos y el cobro por fila | Turso |
| Lecturas muy altas con escrituras moderadas | El precio por mil millones de filas leídas | Turso |
| Carga predecible y SQL avanzado | Un plan fijo con cómputo reservado | Supabase |
| Prototipo sin costo | Los límites del plan gratuito de cada uno | Cualquiera de los dos; compara 500 MB y 5 GB |
Antes de decidir, estima tus filas leídas y escritas al mes: es el dato que más cambia el costo de Turso. Para Supabase, estima el tamaño del disco y el cómputo.
5. Si migras entre ambos#
Pasar de SQLite a PostgreSQL (o al revés) no es solo cambiar la cadena de conexión.
- Tipos de datos: PostgreSQL es estricto con los tipos; SQLite es más flexible. Revisa fechas, booleanos y enteros grandes.
- Funciones y extensiones: lo que dependa de extensiones de PostgreSQL no existe en SQLite.
- Concurrencia y transacciones: los modelos de bloqueo son distintos; prueba tus escrituras concurrentes.
- Herramientas y ORM: confirma que tu ORM soporta ambos dialectos y prueba las migraciones en un entorno de pruebas.
Para profundizarPostgreSQL: encuentra el índice correcto con EXPLAIN
Documentación: SQLite: documentación oficial ↗
6. Mantén tus cifras al día#
Los planes y cuotas cambian. Las cifras de esta guía son las de las páginas oficiales el 17 de octubre de 2026; confirma las condiciones antes de decidir.
- Anota la fecha de lectura de cada tarifa.
- Mide tus filas leídas y escritas reales durante un mes antes de elegir plan en Turso.
- Compara más opciones en el comparador de bases de datos de Codifly.
Fuentes y alcance
Documentación consultada el 17 de octubre de 2026. Los ejemplos y criterios de decisión son propuestas editoriales; adáptalos al contrato de tu aplicación y valídalos en tu entorno de pruebas autorizado.