GPX to KMZ Converter: Share a Track as One File

All tools
Report

Heading to the field? Install this site from your browser menu and this tool works with no signal. See how

Converter

Nothing is uploaded. The file is converted on your own device, so it works with no signal.

Drop a file here or

Nothing leaves your device.

No file to hand?

Waiting for a file.

Features in this file

NameTypeFolderVerticesLengthArea

A size comparison for a ninety minute ride recorded every second, 5400 track points covering 62.4 kilometres. As GPX it is 255 kB, about 48 bytes per point. As KML it is 113 kB, about 21 bytes per point. As KMZ it is 25 kB, about 4.8 bytes per point. A panel explains that for a dense track KML is less than half the size of the GPX it came from, because GPX writes a full trkpt element with two named attributes for every point while KML writes all the coordinates into one continuous block of text.
This is the reverse of what happens with scattered survey points, where converting to KML makes the file bigger. Dense tracks behave the opposite way.

How to use this tool

Drop a .gpx file above, check it on the map, and press Convert to KMZ and download. The result is a single compressed file that opens in Google Earth on a laptop or a phone with no software to install.

If you need readable XML instead, because you intend to edit it or feed it to something that cannot unzip, use the GPX to KML Converter.

Why this conversion pays off most on tracks

A recorded track is the most repetitive data in this entire family, and that is exactly what a compressor eats.

Take a ninety minute ride recorded every second: 5400 track points covering 62.4 km. As GPX that is 255 kB, because GPX writes a complete trkpt element with two named attributes for every single point, about 48 bytes each. The same track as KML is 113 kB, because KML writes all 5400 coordinate pairs into one continuous block of text, about 21 bytes each.

That is worth pausing on, because it is the opposite of what happens with survey points. Converting a shapefile of scattered points to KML makes the file substantially larger. Converting a dense track to KML makes it less than half the size, because the per feature overhead disappears when everything is one line.

Zipping it takes the 113 kB down to 25 kB, about 4.8 bytes per point. That is ten times smaller than the GPX you started with, for a file holding exactly the same 5400 positions.

A worked check you can repeat on paper

You can verify the byte accounting yourself without any tools. Open a GPX in a text editor and look at a single track point. It reads something like a trkpt element carrying lat and lon attributes, and it closes again. Count the characters: the two attribute names, the quotes, the angle brackets and the element name come to roughly 30 characters before you have written a single digit of actual position.

Now look at the same point inside a KML coordinates block. It is a longitude, a comma, a latitude and a space. Around 21 characters in total, and about 20 of them are the numbers themselves.

Multiply either figure by 5400 and you have the file sizes above, give or take the headers. The reason KMZ then reaches 4.8 bytes per point is that consecutive positions along a track differ only in their last few digits, so almost everything in that repeated text is redundant, and a compressor removes redundancy exactly.

Nothing is lost in the process. Zip compression is exact, so the 25 kB file holds every one of the 5400 positions to the same precision as the 255 kB file it came from.

How this was checked

The zip writing is verified rather than assumed. The CRC32 implementation is checked against the published test vectors, including the standard check value of 0xCBF43926 for the string 123456789, and against 400 random binary buffers. Archives this tool produces are then opened by two independent zip libraries that share no code with it.

The conversion itself is tested as a full loop: GPX to KMZ, then the KMZ unzipped and read back to GPX, comparing against the original. The result holds the same four features, the same total length of 83650.94 m, and waypoint positions with zero drift.

Mistakes that catch people out

Emailing a KMZ to somebody whose mail system unzips attachments automatically. Some corporate filters extract archives helpfully, leaving your recipient with a loose doc.kml. If they say it will not open, ask what their mail system did to it.

Assuming a smaller file means fewer points. It does not. Check the feature count and the length on the map above before and after converting if you want to satisfy yourself.

Simplifying the track first to make it smaller. Understandable, and usually unnecessary once you see what compression does. Simplification throws away real positions permanently. Compression throws away nothing.

Sending a KMZ to somebody who wanted to load it onto a device. A KMZ is for looking at. If they need to navigate it, send the GPX, or point them at the KMZ to GPX Converter.

Forgetting the file records when as well as where. A track carries timestamps, and a KMZ is easy to forward. Consider that before sharing a recording of your regular route from your own front door.

Related Calculators and Reference

Sharing a recording usually comes after checking it and before somebody else loads it.