Zero Signup ToolsFree browser tools

Developer Tools

InfluxDB Line Protocol Parser

Parse InfluxDB line protocol into measurement, tags, typed fields, and timestamp, flag mistakes, and export JSON or NDJSON. Or build a valid line. No signup.

InfluxDB line protocol parser and builder

Points: 1Errors: 0Notes: 0

Parsed points

weatherline 1ts 1465839830100400200

Tags

location=us-midwestseason=summer

Fields

KeyTypeValue
temperaturefloat82
humidityinteger71

JSON

[
  {
    "measurement": "weather",
    "tags": {
      "location": "us-midwest",
      "season": "summer"
    },
    "fields": {
      "temperature": 82,
      "humidity": "71"
    },
    "timestamp": "1465839830100400200"
  }
]

NDJSON

{"measurement":"weather","tags":{"location":"us-midwest","season":"summer"},"fields":{"temperature":82,"humidity":"71"},"timestamp":"1465839830100400200"}

How to use

  1. Choose a mode: Parse line protocol to read existing points, or Build a line to write a new one.
  2. To parse, paste your line protocol into the box, or click a quick sample such as Telegraf cpu + mem or All field types.
  3. Read each parsed point: its measurement, its tags, and a field table that shows every field key with its inferred type (float, integer, unsigned, boolean, or string) and value.
  4. Check the Errors and Notes panels for problems tied to a line number, such as a missing field, an unterminated string, an out-of-range integer, a duplicate key, or a field whose type changes between lines.
  5. Use Copy JSON or Copy NDJSON to export every point as a structured object for a script, a test, or a spreadsheet.
  6. To build, enter a measurement, add tag and field rows, pick each field type, set an optional timestamp, then copy the generated line.

About this tool

InfluxDB Line Protocol Parser reads the text wire format that InfluxDB, Telegraf, and most time series clients use to write points, and turns it into something you can inspect and trust. One line describes one point and has three parts separated by unescaped spaces: the measurement plus an optional comma-separated tag set, then a required comma-separated field set, then an optional integer timestamp. The format looks simple but the escaping and typing rules are easy to get wrong, and this tool applies them the way the reference parser does. Paste one or more lines into the Parse view and each point is broken out into its measurement, its tags as key and value pairs, and a table of fields where every field carries its inferred type. The four numeric and logical types are inferred exactly as line protocol defines them: a bare number is a float, a number with a trailing i is a signed 64-bit integer, a number with a trailing u is an unsigned 64-bit integer (InfluxDB 2.x and later), and the keywords t, T, true, f, F, and false are booleans. A double-quoted value is a string, where a backslash only escapes a double quote or another backslash. Integer and unsigned values are parsed and range-checked with BigInt so a value like 9223372036854775807i stays exact instead of rounding, and a value that overflows the 64-bit range is reported rather than silently mangled. Escapes are resolved the way the format specifies: a comma and a space must be escaped in a measurement name, and a comma, an equals sign, and a space must be escaped in tag keys, tag values, and field keys, while any other backslash is kept literally, so a Windows path inside a tag value survives intact. The tool is a linter as much as a reader. It reports the mistakes that make a write fail or behave oddly, each tied to the exact line number: a line with no field set, a tag or field with no value or no equals sign, an empty measurement or key, an unterminated quoted string, a malformed number, an integer or unsigned value out of 64-bit range, a duplicate tag or field key on one line, and a non-integer timestamp. It also raises softer notes that do not fail a write but are worth knowing: tags that are not sorted by key, since InfluxDB sorts them on write and sorted input is slightly cheaper, a measurement or field key in the reserved underscore namespace, and the common gotcha of a field that changes type across lines, which InfluxDB rejects after the first write because a field is locked to its first type. When the input is clean, the whole result exports two ways: pretty JSON and NDJSON, one object per point carrying the measurement, the tag set, the typed field set, and the timestamp. Because a 64-bit integer can exceed the JSON safe range, integer and unsigned values are emitted as JSON strings so no precision is lost, while floats and booleans are emitted as native JSON values. The second mode goes the other way: a small Build view takes a measurement, tag rows, typed field rows, and an optional timestamp, and writes a valid line with tags sorted by key and every special character escaped, ready to POST to a /write endpoint or feed into Telegraf. One honest limit: this is a parser, a linter, and a writer for the line protocol text, not an InfluxDB server. It does not connect to a database, run Flux or InfluxQL, downsample, or store anything; it works on the text you give it. Everything runs locally in your browser, so the points you paste or build are never uploaded, written, or logged.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsDeveloper Tools