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)

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.

    Binary Hex Editor

  • 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.

    Text Encoding Converter

  • 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.

    Avro ToolsProtocol Buffers Tools

  • 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.

    Parquet Viewer

  • 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.

    Compression ComparisonCompression Tools

  • 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.

    Data Format ComparisonProtocol Buffers Tools

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

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.