Open-source file-format loaders for geospatial, tabular, and 3D data, with worker-thread and streaming support for big-data JS apps.
Qué hace
loaders.gl is an open-source JavaScript library (MIT, v4) that loads and writes tabular, geospatial, and 3D file formats through a single unified API. It runs in browsers, Node.js, and web workers, and ships pre-integrated with the deck.gl visualization framework.
Loading geospatial or 3D data in JavaScript is a format zoo: shapefiles, glTF, Arrow tables, CSVs, point clouds. loaders.gl (MIT, currently at v4) gives every format the same load / loadInBatches call, so switching formats does not rewrite your data pipeline.
The library is split into a small @loaders.gl/core module and a range of optional format modules (CSV, Arrow, glTF, and more) that you install individually. Per the docs, each module exports loaders and writers with identical method signatures, so you can swap CSVLoader for ArrowLoader without touching the rest of your code. Crucially, some modules (like @loaders.gl/arrow) return columnar Arrow tables rather than row objects, which is a meaningful distinction for analytics pipelines that expect columnar memory layouts.
Many loaders ship pre-built web workers, moving parse work off the main thread entirely. One non-obvious gotcha noted in the architecture: worker-thread loaders rely on transferable typed arrays and modern browser security headers (COOP/COEP and SharedArrayBuffer access) for full performance. If your deployment cannot set those headers, loaders fall back gracefully but lose the off-thread benefit.
loaders.gl is pre-integrated with deck.gl and the broader vis.gl ecosystem, which is genuinely convenient: deck.gl's internal fetchFile hooks and CORS handling are wired up out of the box. However, that tight coupling means the library is tuned around vis.gl usage patterns. If your only format is GeoJSON and you do not need workers or streaming, a lighter-weight library may avoid the module overhead entirely. loaders.gl earns its footprint when you need multi-format support, streaming, or worker offload.
loaders.gl is the right call when your app must handle multiple geospatial or 3D formats at scale, tested at deck.gl production scale. Start at loaders.gl/docs to browse format modules, then install only the loaders your stack actually needs.
Características
Notas de campo
Revisado el Jun 26, 2026
Ideal para
Resultados para creadores
Ten cuidado
Probado con
loaders.gl is an open-source (MIT) JavaScript library at v4 that provides a unified API for loading and writing tabular, geospatial, and 3D file formats. It ships as a small core module plus optional format-specific modules (CSV, Arrow, glTF, Shapefile, and more), each returning parsed data as plain JavaScript objects or typed arrays. The library runs in browsers, Node.js LTS, and web workers, and comes pre-integrated with the deck.gl visualization framework.
Install `@loaders.gl/core` plus whichever format module you need (for example `@loaders.gl/csv`), then call `load('data.csv', CSVLoader)` to get a JavaScript array of row objects. For files larger than memory, use `loadInBatches` with an async iterator: `for await (const batch of await loadInBatches('data.csv', CSVLoader))`. The docs at loaders.gl/docs include a Get Started guide that walks through both patterns in TypeScript.
Yes. loaders.gl is released under the MIT license, making it free to use, modify, and redistribute in both commercial and open-source projects. It is published as a suite of composable npm modules, so you only install the loaders your application actually needs.
loaders.gl is best for JavaScript applications that must handle multiple geospatial or 3D file formats, especially when streaming large files or offloading parse work to web workers. It is the natural choice for teams building on deck.gl or other vis.gl frameworks, and for Node.js backend services that need the same format support as the browser client. If your app only consumes a single lightweight format like GeoJSON, a narrower library avoids the extra module weight.
loaders.gl's core advantage over single-format libraries is a unified API: swapping `CSVLoader` for `ArrowLoader` (or a 3D loader) requires no changes to the surrounding data pipeline. Format-specific libraries often expose idiosyncratic APIs and offer no worker or streaming support. The tradeoff is that loaders.gl's module system adds some bundle overhead, and some modules (like `@loaders.gl/arrow`) return columnar Arrow tables rather than row objects, which can surprise developers expecting row-oriented output from every loader.
Worker-thread parsing requires the browser deployment to set Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy (COOP/COEP) headers to enable SharedArrayBuffer; without those headers, loaders fall back to the main thread and you lose the off-thread benefit. The Arrow module returns columnar memory layouts, not row arrays, so downstream code must account for both output shapes. Pre-integration with vis.gl means the library is optimized for deck.gl usage patterns, which may not align perfectly with unrelated stacks. Finally, if your only format is GeoJSON and you need no workers or streaming, lighter alternatives will reduce bundle size.
Subida de archivos sencilla para React; sube directamente a cualquier almacenamiento compatible con S3 con una configuración mínima. Compatible con Next.js, TanStack Start y cualquier framework de React.
Best for Añadir subidas compatibles con S3 a una aplicación React rápidamenteUna biblioteca de animaciones de carga reutilizables en estilo dotmatrix para React y Next.js, instalable a través del registro de shadcn o copiando el código fuente directamente desde la documentación.
Best for Loaders con el distintivo estilo dotmatrixVisual RAG pipeline that retrieves over screenshot tiles instead of parsed text, preserving tables, charts, and layout for more accurate document search.
Best for Builders doing RAG over documents where tables, charts, or layout carry meaning that HTML parsing silently dropsUna galería ligera de animaciones de carga basadas en curvas matemáticas: curvas de rosa, figuras de Lissajous, hipotrocoides, cardioedes y más, construida en HTML, CSS y JavaScript puro con notas de fórmulas y código listo para copiar.
Best for Animaciones de carga distintivas impulsadas por matemáticasUn framework de carga skeleton que genera pantallas de carga pixel-perfect a partir de tu interfaz real, sin mediciones manuales ni marcadores de posición ajustados a mano, para React, Preact, Vue, Svelte 5, Angular y React Native.
Best for Skeletons pixel-perfect sin ajuste manualUna colección de spinners, loaders y animaciones de carga para aplicaciones web modernas, construida con React, Next.js, shadcn/ui, Tailwind CSS y Framer Motion.
Best for Añadir spinners y animaciones de carga rápidamente