Saltar al contenido
Aback Tools Logo

Estimador de tamaño de carga de IndexedDB

Estima gratis y online el uso de almacenamiento de IndexedDB para cargas JSON. Nuestro estimador de tamaño de carga de IndexedDB calcula el tamaño de serialización del clonado estructurado —el algoritmo real que usa IndexedDB— y muestra cuánto reduce la compresión LZ-String tu consumo de cuota. Incluye una comparación de cuatro tamaños (clonado estructurado, JSON sin procesar, UTF-8 y comprimido con LZ-String) con un indicador de cuota dinámico y un fragmento de código de IndexedDB listo para usar. Todo el procesamiento ocurre en tu navegador. Sin registro.

IndexedDB Payload Size Estimator

Paste any JSON payload to estimate its IndexedDB storage size using the structured clone algorithm, then compress it with LZ-String to see how much quota you save. All processing happens locally in your browser - your data never leaves your device.

Most space-efficient for string values in IndexedDB. Stores 15 bits per UTF-16 char.

¿Por qué usar nuestro estimador de tamaño de carga de IndexedDB?

  • Estimación precisa del almacenamiento de IndexedDB: nuestro estimador de tamaño de carga de IndexedDB calcula el tamaño de serialización del clonado estructurado —el algoritmo real que usa IndexedDB para almacenar objetos—, incluida la sobrecarga por tipo de campo de cadenas, números, booleanos, arrays y objetos anidados.
  • Compresión LZ-String instantánea para IndexedDB: comprime cargas JSON con LZ-String directamente en tu navegador y consulta el ahorro exacto de almacenamiento antes de escribir una sola línea de código. Nuestro estimador muestra los tamaños de salida UTF-16 y Base64 en paralelo.
  • Estimador de tamaño de carga de IndexedDB online y seguro: tus cargas JSON nunca salen de tu dispositivo. Toda la estimación del clonado estructurado y la compresión LZ-String ocurren localmente en tu navegador: sin subir nada a un servidor, sin procesamiento en la nube y con total privacidad para datos sensibles de aplicaciones.
  • Estimador de tamaño de carga de IndexedDB sin instalación: estima el almacenamiento de IndexedDB y comprime cargas directamente en tu navegador sin descargar software, sin complementos y sin cuenta. Funciona en cualquier navegador moderno y en cualquier sistema operativo.

Casos de uso habituales del estimador de tamaño de carga de IndexedDB

  • Optimización del almacenamiento de datos sin conexión en PWA: las aplicaciones web progresivas que guardan respuestas de API en IndexedDB se benefician de la compresión LZ-String. Usa el estimador de tamaño de carga de IndexedDB para verificar que tu conjunto de datos sin conexión cabe en la cuota del dispositivo antes de publicarlo, algo especialmente importante en móviles con poco almacenamiento.
  • Planificación del almacenamiento de extensiones de navegador: las extensiones de Chrome y Firefox usan IndexedDB para el almacenamiento persistente. Usa el estimador de tamaño de carga de IndexedDB para medir cuánta cuota consume el modelo de datos de tu extensión y si la compresión LZ-String lo mantiene dentro de los límites por extensión del navegador.
  • Dimensionado de esquemas de bases de datos en el cliente: antes de implementar una base de datos en el cliente con Dexie.js, PouchDB o IndexedDB directamente, usa el estimador de tamaño de carga de IndexedDB para modelar los esquemas de tus almacenes de objetos y estimar los requisitos totales de almacenamiento de un conjunto de datos típico.
  • Adaptador IndexedDB para Redux Persist y Zustand: las bibliotecas de gestión de estado que persisten en IndexedDB (redux-persist con idb-keyval, Zustand con el middleware persist) pueden alcanzar los límites de cuota con árboles de estado grandes. Usa el estimador de tamaño de carga de IndexedDB para medir tu estado serializado y decidir si necesitas compresión LZ-String.
  • Prevención de QuotaExceededError: un QuotaExceededError en producción es un fallo grave para los usuarios. Usa el estimador de tamaño de carga de IndexedDB para medir de forma proactiva tus cargas más grandes y añadir compresión LZ-String antes de alcanzar el techo de cuota, especialmente en iOS Safari, que tiene límites más estrictos.
  • Modelado de datos para aplicaciones offline-first: las aplicaciones offline-first que sincronizan grandes conjuntos de datos (documentos, metadatos de imágenes, historial del usuario) necesitan planificar bien el almacenamiento. Usa el estimador de tamaño de carga de IndexedDB para comparar el almacenamiento sin comprimir y comprimido de cada almacén de objetos y elaborar un presupuesto de cuota realista.

¿Qué es la estimación del tamaño de carga de IndexedDB?

IndexedDB es la base de datos NoSQL integrada en el navegador: almacena objetos JavaScript con el algoritmo de clonación estructurada, que serializa cada tipo de valor con una sobrecarga concreta: cadenas en UTF-16 (2 bytes por carácter), números en 8 bytes, booleanos en 1 byte y objetos/arrays con unos 50 bytes de sobrecarga de contenedor cada uno. Nuestro estimador de tamaño de carga de IndexedDB calcula este tamaño de clonado estructurado para cualquier carga JSON y luego muestra cuánto reduce la compresión LZ-String la huella de almacenamiento, para que puedas decidir con criterio si conviene comprimir tus valores de IndexedDB antes de guardarlos.

Cómo funciona nuestro estimador de tamaño de carga de IndexedDB

  1. 1 Pega tu carga JSON: introduce cualquier objeto, array o cadena JSON que pienses guardar en IndexedDB. El estimador de tamaño de carga de IndexedDB analiza el JSON y calcula el tamaño del clonado estructurado; tus datos nunca salen de tu navegador.
  2. 2 Elige un formato de almacenamiento: selecciona JSON sin procesar (referencia), LZ-String UTF-16 (máxima eficiencia de espacio para valores de cadena) o LZ-String Base64 (portable y seguro para URL). El estimador comprime la carga y muestra el ahorro exacto de almacenamiento.
  3. 3 Revisa las métricas y copia el fragmento: el panel de métricas muestra el tamaño del clonado estructurado, el tamaño del JSON sin procesar, el tamaño UTF-8 y el tamaño comprimido con barras visuales, además de un fragmento de código de IndexedDB listo para usar con el formato de compresión elegido.

Qué significan las métricas de tamaño

  • Tamaño del clonado estructurado: los bytes estimados que IndexedDB usa para almacenar el objeto de forma nativa; incluye la sobrecarga por tipo de campo de las cadenas (UTF-16), los números (8 bytes), los booleanos (1 byte) y la sobrecarga de contenedor de objetos y arrays.
  • Cadena JSON sin procesar: el tamaño en bytes de JSON.stringify(data) almacenado como cadena UTF-16 en IndexedDB; a menudo es menor que el clonado estructurado en objetos muy anidados.
  • Bytes UTF-8: el tamaño en bytes si el JSON se almacenara como UTF-8 (por ejemplo, en un Blob o ArrayBuffer); útil para comparar con el almacenamiento del servidor.
  • Comprimido con LZ-String: el tamaño en bytes tras la compresión LZ-String, normalmente un 50-80 % menor que el JSON sin procesar en estructuras de datos repetitivas como arrays de objetos similares.

Limitaciones importantes

La estimación del tamaño del clonado estructurado es una aproximación: la sobrecarga real del motor del navegador varía según el navegador y la versión. El V8 de Chrome y el SpiderMonkey de Firefox usan representaciones internas distintas. Para mediciones exactas, usa navigator.storage.estimate() antes y después de escribir en IndexedDB en tu aplicación real. La cuota de IndexedDB es dinámica —normalmente el 50 % del espacio disponible en disco— y varía mucho entre navegadores de escritorio, navegadores móviles e iOS Safari (que tiene límites más estrictos de unos 50 MB por origen).

Preguntas frecuentes

Un estimador de tamaño de carga de IndexedDB calcula cuánto almacenamiento consumirá una carga JSON en IndexedDB con el algoritmo de clonación estructurada y muestra cuánto reduce esa huella la compresión LZ-String. Nuestro estimador de tamaño de carga de IndexedDB online gratuito funciona íntegramente en tu navegador.

La estimación es precisa con un margen de ±20 % para cargas JSON habituales. Tiene en cuenta el almacenamiento de cadenas en UTF-16, números de 8 bytes, booleanos de 1 byte y unos 50 bytes de sobrecarga de contenedor por objeto o array. Para mediciones exactas, usa navigator.storage.estimate() en tu aplicación.

Por supuesto. Nuestro estimador de tamaño de carga de IndexedDB lo procesa todo localmente en tu navegador. Tus cargas JSON nunca se suben a ningún servidor, nunca se almacenan y nunca salen de tu dispositivo.

Sí: 100 % gratis para siempre. Sin registro, sin cuenta, sin versión premium, sin límites de tamaño de datos y sin anuncios que interrumpan tu flujo de trabajo.

La cuota de IndexedDB es dinámica: los navegadores suelen asignar el 50 % del espacio disponible en disco, con un mínimo de unos 50 MB por origen. iOS Safari tiene límites más estrictos (unos 50 MB por origen). Usa navigator.storage.estimate() en tiempo de ejecución para obtener la cuota exacta del dispositivo del usuario.

Usa LZ-String UTF-16 para lograr la máxima eficiencia de espacio: almacena 15 bits por carácter UTF-16, lo que lo convierte en la opción más compacta para valores de cadena en IndexedDB. Usa Base64 si necesitas un formato portable y seguro para URL.

LZ-String suele lograr una reducción del 50-80 % en datos JSON repetitivos: los arrays de objetos similares, los objetos de configuración con claves repetidas y los datos de preferencias del usuario son los que más se comprimen.

El asistente de compresión de LocalStorage se centra en el límite de 5 MB de localStorage. El estimador de tamaño de carga de IndexedDB añade la estimación del tamaño del clonado estructurado y muestra una comparación de cuatro tamaños con un indicador de cuota dinámico.

Sí. Todas estas bibliotecas usan IndexedDB internamente. Comprime tus valores con LZ-String antes de pasarlos a put() o add() y descomprímelos al leerlos con get(). La herramienta ofrece un fragmento de código listo para usar.