Data Format and Encoding Tools
Data Formats is for the moments when text tools are not enough: you need to see the bytes, understand an encoding, check a binary schema, or decide how data should be stored and shipped. Data engineers working with Kafka, Spark and data lakes, backend developers choosing a wire format, and anyone debugging garbled characters or a corrupt file use these tools.
9 free tools · no sign-up · no ads
All Data Formats (9)
Binary Hex Editor
View and edit file bytes as hex, binary and textText Encoding Converter
Convert between different text encodingsAvro Tools
Work with Apache Avro data serializationProtocol Buffers Tools
Work with Protocol Buffers (protobuf) dataCompression Tools
Compress and decompress data using various algorithmsCompression Comparison
Compare different compression algorithms and ratiosData Format Comparison
Compare different data formats and their characteristicsParquet Viewer
Read a Parquet file's schema, row count and codecsTSV Parser
Parse and convert Tab-Separated Values files
Which tool do I need?
Identify a file type from its first bytes
Open the file in the Binary Hex Editor and read the magic number at offset 0, for example 89 50 4E 47 for PNG or 50 4B 03 04 for ZIP.
Fix text that shows é instead of é
That is UTF-8 read as a single-byte encoding. Inspect the bytes in the Text Encoding Converter to confirm what was actually stored.
Check an Avro or Protobuf schema before registering it
Validate the schema and a sample JSON record against it. Protocol Buffers Tools also shows the encoded size of a valid record.
See the schema and row count of a Parquet file without Python
The Parquet Viewer reads only the footer, so even a multi-gigabyte file is summarised quickly and stays on your machine.
Choose between gzip, Brotli and LZ4 for my payloads
Paste a real payload into Compression Comparison for size, ratio and timing across six codec settings, then use Compression Tools to compress or decompress one string.
Decide whether Protobuf is worth it over JSON
Run Data Format Comparison on your own JSON for size and parse times, then write a real .proto in Protocol Buffers Tools, which is usually smaller than the generic schema.
About Data Formats
Start at the byte level with the Binary Hex Editor, which shows a file as a hexdump -C style dump, as binary and as editable text, and the Text Encoding Converter, which moves text between UTF-8, Base64, hex, binary, URL encoding, HTML entities and \u escapes using the real UTF-8 bytes. For schema-based formats, Avro Tools validates schemas and JSON records and infers a starting schema, Protocol Buffers Tools parses a .proto with protobufjs and encodes valid JSON to the wire format, and the Parquet Viewer reads a file's footer to list columns, types, row groups and codecs. To choose between options, Compression Tools and Compression Comparison run real gzip, deflate, Brotli and LZ4 codecs, and Data Format Comparison measures JSON, XML and Protobuf size and speed on your own data. The TSV Parser converts tab-separated exports to JSON.
These tools run in the browser, and their limits come from that. Benchmarks measure your browser's JavaScript and WebAssembly engines, which is useful for comparing options against each other and poor for predicting server throughput. The Parquet Viewer reads metadata only and does not decode rows; use DuckDB or pandas for values. Avro Tools works on JSON, not binary .avro container files, and does not check compatibility between schema versions. The Text Encoding Converter does not transcode legacy code pages such as Windows-1252; use iconv for whole files.
Guides
- How to Read a Hex Dump: Offsets, Bytes and Magic NumbersWhat each column of a hex dump means, how to spot file types from their first bytes, and the invisible characters a hex view exposes in seconds.
- UTF-8, Mojibake and Byte Order Marks: Text Encoding for DevelopersWhy é turns into é, how UTF-8 lays out bytes, what surrogate pairs do to JavaScript strings, and a checklist for fixing encoding bugs at the source.
- Avro vs Protobuf: Schemas, Encoding and Safe EvolutionHow Avro and Protocol Buffers encode the same record, why one needs the writer's schema and the other needs field numbers, and the evolution rules for each.
- What Is a Parquet File? Row Groups, Footers and Types ExplainedHow Parquet lays out columns, row groups and pages, what the footer stores, how physical and logical types fit together, and the settings that make files fast.
Frequently asked questions
What is the difference between an encoding, a compression format and a serialization format?
An encoding represents the same bytes or characters differently, such as UTF-8, Base64 or hex. Compression makes bytes smaller and must be reversed before use, such as gzip or Brotli. A serialization format defines how structured data becomes bytes, such as JSON, Avro, Protobuf or Parquet. Real pipelines often stack all three.
Are browser benchmarks good enough to choose a data format?
They are good for comparing options against each other on your data, and weak for predicting production numbers. Native libraries on a server, such as zlib, simdjson or compiled protobuf code, run at different speeds. Use the browser results to narrow the choice, then measure in your own stack.
Should I use Avro, Protobuf or Parquet?
They solve different problems. Avro suits streams of records with a schema registry and evolving schemas, which is why it is common with Kafka. Protobuf suits messages between services, with generated code in many languages. Parquet is a columnar file format for analytics, where queries read a few columns from many rows.
Do the data format tools upload my files?
No. Files and text are processed in your browser. The Parquet Viewer reads the footer locally, and the hex editor reads files with the browser's file APIs. Brotli downloads a WebAssembly module the first time you use it, which is code coming to you, not data leaving.
Why does Base64 make data larger?
Base64 writes every 3 bytes as 4 text characters, so output is about a third larger than the input, plus padding. It exists to carry binary data through channels that only accept text, such as JSON fields, email and URLs. It is not compression and not encryption.