30 open-source projects similar to mholt/papaparse, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Jackson is a Java data binding framework and multi-format data serializer used to translate data structures into native language objects. It functions as a JSON data binding library and a streaming parser that reads and writes data as discrete tokens to process large datasets with minimal memory. The project distinguishes itself through a bytecode serialization accelerator that replaces standard reflection with generated bytecode to increase data binding speed. It employs a module-based extensibility model to support a wide range of formats beyond JSON, including XML, YAML, CSV, TOML, and bin
Nanopb is a lightweight C implementation of Protocol Buffers designed for resource-constrained systems and microcontrollers. It functions as both an embedded serialization library for encoding and decoding structured data and a code generator that transforms definition files into compact C source and header files. The project is distinguished by its focus on static memory allocation, using fixed maximum sizes for strings and arrays to avoid dynamic memory allocation and heap fragmentation. It employs a callback-based streaming mechanism to process messages or fields that exceed available phys
Excelize is a Go library designed for reading, writing, and modifying Microsoft Excel files in XML-based formats. It functions as a spreadsheet file parser and generator that enables the programmatic extraction and modification of data. The library includes a streaming spreadsheet processor to handle massive datasets incrementally, preventing system memory exhaustion during large-scale read and write operations. It also provides a chart generator to convert worksheet values or external data sources into visual representations within the spreadsheet. Beyond core file processing, the project c
tinygltf is a C++ library designed as a parser, serializer, and validation tool for 3D models in the glTF 2.0 binary and JSON formats. It functions as a streaming processor that can handle large 3D asset files incrementally through a callback-driven approach to reduce memory overhead. The library uses a header-only implementation to simplify integration. It employs memory mapping to map binary buffers directly into memory and utilizes a symmetric parse-write pipeline to maintain data consistency between reading and writing files. The system provides capabilities for 3D asset processing, incl
This project is a framework for the efficient serialization and deserialization of data structures. It provides a unified, macro-based interface that automates the conversion of complex internal objects into standardized formats and reconstructs them from raw input streams or buffers. By leveraging compile-time code generation, the library minimizes manual implementation overhead while ensuring consistent logic across diverse data types. The framework distinguishes itself through a format-agnostic data model and a visitor-based parsing architecture that decouples data structures from specific
This library is a CSV data serializer and stringifier for transforming structured records into comma-separated values. It provides tools for converting data records into plain text via synchronous, callback-based, or stream-based implementations. The project distinguishes itself by offering a streaming implementation through the native Node.js Transform API, which allows for the processing of large datasets without loading all records into memory. It also includes a flexible formatting system to define specific delimiters, quotes, escape characters, and header configurations. The toolset cov
Toon is a data serialization library and toolkit designed to convert complex objects into compact, human-readable formats optimized for large language models. By focusing on token efficiency, the library minimizes the context window footprint of structured data through techniques like key folding and tabular layout optimization. It provides a streaming-capable processor that handles the encoding and decoding of hierarchical data while maintaining structural integrity. The project distinguishes itself through its path-aware transformation pipeline and configurable serialization logic, which al
jsPDF is a JavaScript PDF generation library and client-side engine that produces documents directly on the user's device. It provides a scriptable interface for creating PDF files within web browsers and other JavaScript runtime environments without requiring a backend server. The library includes a tool for defining document dimensions, orientation, and measurement units to control page layout. It also functions as a Unicode font integrator, allowing for the embedding of custom font files to support diverse languages and special characters. Capability areas cover dynamic document automatio
This project is a portable document rendering engine designed to parse and display complex document layouts directly within standard web browser environments. It functions as a web-native viewer that enables the presentation of documents without requiring external software or browser plugins. The engine utilizes a canvas-based rendering layer to map document page data onto standard web drawing surfaces, ensuring high-fidelity visual output. To maintain interface responsiveness, it offloads heavy parsing and object extraction tasks to background threads. The system also employs asynchronous by
diff2html is a Git diff visualization library that transforms unified diff text into structured HTML. It serves as a renderer for visualizing code changes in web browsers, providing components to inject stylized diff visualizations and collapsible file lists directly into web page elements. The library enables both side-by-side and line-by-line code comparisons. It includes a syntax highlighting diff viewer that applies language-specific color coding to source code based on file extensions or manual mappings. To maintain alignment during reviews, the project implements synchronized scrolling
htmlparser2 is a collection of tools for high-performance markup parsing, DOM manipulation, and incremental stream processing. It functions as an HTML and XML parser that converts markup strings into structured object trees, alongside a streaming markup parser designed for memory-efficient processing of large documents. The project includes a DOM manipulation library for querying, modifying, and serializing document object model trees. It also provides a web feed parser to extract structured metadata and entries from RSS, RDF, and Atom feeds. The library covers broad capabilities in data par
Exportify is a web-based music metadata tool and data archive utility designed to export Spotify playlists and liked songs into portable CSV files. It serves as a multi-language data export utility that allows users to save track, album, and artist details for long-term preservation or data analysis. The tool provides capabilities for bulk playlist archiving, where entire collections of playlists are saved as CSV files and bundled into a single ZIP archive. It also supports targeted extraction through playlist search and filtering based on ownership or collaboration status. The system handle
This project is a client-side data visualization tool and vector graphics generator that transforms tabular data into customizable SVG graphics. It functions as a browser-based visualization engine that processes datasets locally, ensuring that sensitive information is not transmitted to a server. The platform utilizes a modular layout engine to render diverse chart types, including hierarchical and temporal visualizations. It supports the definition and integration of custom layout extensions to expand the variety of available visualization types. The system provides capabilities for import
Partytown is a library designed to offload resource-intensive third-party scripts to background web workers. By executing these scripts outside of the main thread, it prevents them from blocking the critical rendering path, thereby maintaining a responsive user interface and improving overall page load performance. The project functions as a web worker proxy library that synchronizes browser interfaces between the main thread and background environments. It uses proxy-based access and synchronous messaging to replicate global objects like the window and document, allowing scripts to interact
Excelize is a library for reading and writing spreadsheet files in the Office Open XML format. It provides a comprehensive suite of tools for programmatically creating, modifying, and analyzing workbooks, worksheets, and cell data, ensuring compatibility across various office software suites through structured XML serialization. The library distinguishes itself with a built-in formula calculation engine that evaluates complex mathematical and logical expressions directly against workbook data. It also features a memory-mapped streaming architecture, which allows for the efficient processing o
OpenPanel is a self-hosted product analytics platform designed for tracking user behavior and visualizing product metrics on private infrastructure. It provides a comprehensive system for collecting events across web, mobile, and server environments while ensuring complete ownership of data. The platform distinguishes itself through a privacy-first approach, utilizing cookieless event tracking and regional data residency to simplify regulatory compliance. It integrates large language models via the Model Context Protocol, enabling users to query behavioral data and analyze trends using natura
dsq is a command-line interface and data engine for executing SQL queries against local structured files, such as CSV, JSON, Parquet, and Excel, without requiring a formal database import. It functions as a schema-inference engine that automatically detects data types and maps heterogeneous file structures into relational tables for analysis. The tool utilizes a lazy stream data processor and checksum-based disk caching to handle large datasets with minimal memory usage. It provides a persistent interactive shell for iterative data exploration, allowing users to inspect inferred schemas and r
Hub is a multimodal AI data lake and vector database designed for storing and querying embeddings, text, audio, and images. It functions as a dataset version control system and a machine learning data streaming engine to support large-scale model training. The system utilizes a serverless PostgreSQL vector store to index high-dimensional embeddings for semantic search. It provides a visual interface for inspecting multimodal datasets and viewing annotations such as bounding boxes and masks. The platform handles cloud-agnostic storage synchronization and implements lazy, compressed data strea
Jackson-databind is a Java serialization framework and JSON data binding library used to convert Java objects to JSON and vice versa. It functions as a JSON streaming API that generates and parses content as a sequence of tokens, and as a hierarchical data tree mapper that reads data into a node structure for dynamic modification without predefined classes. The project provides a structured mapping process to bind data to objects, allowing for the transformation of complex Java objects into data formats and the reconstruction of objects from those formats. It supports custom data format mappi
Cesium is a JavaScript geospatial visualization library and 3D globe engine designed to render world-scale environments and precision spatial data. It functions as a web-based mapping tool that displays hardware-accelerated 3D globes and 2D maps directly in a browser without requiring external plugins. The project operates as a 3D tiles renderer, utilizing the 3D Tiles open standard to stream and display large-scale geospatial datasets. It enables the visualization and analysis of high-accuracy spatial information across global environments. The library covers a broad range of capabilities,
Workerize is a web worker module loader and main thread offloader. It functions as an asynchronous proxy wrapper that allows JavaScript modules to run in background workers, preventing browser UI freezes by delegating computationally expensive tasks to separate threads. The project utilizes a proxy-based interface to call functions inside a background worker as if they were local asynchronous calls. This mechanism enables the execution of modules in parallel workers to maintain main thread responsiveness. The system covers asynchronous module execution and web worker integration, focusing on
zlib is a lossless data compression library that implements the deflate compression algorithm, combining LZ77 sliding window and Huffman coding. It provides the core compression and decompression engines, along with support for gzip, zlib, and raw deflate stream formats, enabling data to be compressed and restored without any loss of information. The library offers a range of capabilities for handling compressed data, including single-call memory and file operations, as well as incremental stream-based processing for working with data larger than available memory. It includes mechanisms for a
This project provides a lossless compression algorithm and a byte-oriented compression library designed for high-speed data reduction and maximum decompression speed. It functions as a stream-oriented compression engine, a software library for encoding and decoding data blocks, and a command-line tool for managing interoperable compressed frames. The system distinguishes itself through the use of predefined pattern dictionaries to improve compression ratios for small data sets and small packets. It supports multiple processing modes, including high-speed block compression for minimal latency
This project is a curated educational guide and instructional resource for the Node.js runtime environment. It serves as a comprehensive introduction to core concepts, including asynchronous programming tutorials, network application primers, and guides on the module system and stream API. The material focuses on the fundamental building blocks of server-side development, specifically how to create reusable code packages and manage project dependencies via a module manifest. It provides detailed instruction on building programs that communicate over HTTP and TCP protocols to exchange data acr
This is a distributed voting application designed to demonstrate a multi-service architecture. It uses stateless web frontends for submitting votes and viewing live results, with a Redis-backed queue to buffer incoming votes and a PostgreSQL database for persistent tallying. The application is built around asynchronous message queue processing, decoupling the vote submission from the tallying workflow. The project showcases how to deploy a multi-service application using container orchestration tools. It provides YAML-driven declarative deployment manifests for Docker Compose, Docker Swarm, a
ExcelJS is a Node.js spreadsheet engine and manipulation library used for reading, writing, and modifying XLSX and CSV files. It functions as a formatting tool and asynchronous streaming parser for generating complex workbooks containing formulas, rich text, and custom styles. The library is distinguished by its ability to process large datasets using asynchronous data streaming and incremental processing, which minimizes memory usage during data extraction and file generation. Its capability surface covers comprehensive data management, including structured tables, named ranges, and cell da
This project is a learning guide and collection of study notes designed to teach Node.js backend development. It provides a comprehensive core API reference and practical demonstrations for implementing server-side logic, network programming, and system APIs. The guide specifically covers advanced technical domains including process management for scaling applications via clusters and child processes, as well as network programming for building TCP, UDP, and HTTP services. It also includes detailed instructional material on security implementation, focusing on cryptographic hashing and encryp
Xan is a command-line tool and data transformation engine for processing CSV, TSV, and JSONL datasets. It functions as a processor for compressed files, enabling random access and seeking within gzipped and Zstd files, and serves as a converter for specialized bioinformatics data formats. The tool handles large datasets without requiring full memory loads by utilizing stream-based processing. It provides capabilities for merging, sorting, and deduplicating massive files, as well as converting data between various tabular formats. The project covers a broad range of data wrangling and analysi
Miller is a command-line data processor used for filtering, transforming, and aggregating name-indexed tabular data. It functions as a tool for querying and reshaping records across multiple file formats, serving as a converter between CSV, JSON, and YAML. The tool distinguishes itself by using a name-indexed data model, allowing users to manipulate fields by name rather than numeric position. It utilizes single-pass streaming algorithms to compute statistics and summaries on large datasets that exceed available system memory. Its capabilities cover data transformation and analysis, includin