file in abyss
Back to formats

3D

PLY Polygon File Format

Polygon File Format is a 3D asset format identified by a text header that starts with ply. Gaussian Splatting PLY files use the PLY container with extended vertex properties for opacity, scale, rotation, and spherical harmonics data.

Extensions .ply
MIME model/ply, application/octet-stream

Magic numbers

Analyze your file
offset 0 Polygon File Format leading signature
70 6C 79 0A
ply.
offset 0 Polygon File Format leading signature
70 6C 79 0D 0A
ply..

Structure

  1. ply magic line
  2. format declaration
  3. element and property declarations
  4. end_header
  5. ASCII or binary element data

Caveats

  • PLY can be ASCII, binary little-endian, or binary big-endian. Read the format line before parsing the element data.
  • A generic mesh PLY and a Gaussian Splatting PLY share the same leading header. For Gaussian Splatting, validate properties such as opacity, scale_0, rot_0, and SH coefficient fields instead of trusting the extension alone.

Detection example

SIGNATURE = bytes.fromhex("706c790a")
OFFSET = 0

def is_ply(path: str) -> bool:
    with open(path, "rb") as f:
        f.seek(OFFSET)
        head = f.read(len(SIGNATURE))
    return head == SIGNATURE

Practical usage

Use cases

Polygon File Format is used in 3D viewers, asset pipelines, model conversion, avatar loading, and scene validation. Containers, extensions, binary chunks, and texture references all affect implementation behavior.

Common detection mistakes

  • The .ply extension alone does not prove the file contents. Upload and conversion flows should combine extension, MIME type, leading bytes, and format-specific structure checks.
  • Polygon File Format can start with signatures such as 70 6C 79 0A or 70 6C 79 0D 0A, but related containers and damaged files may require additional validation.

Security notes

Untrusted input is not safe just because the format was detected. Account for parser exceptions, large files, unexpected encodings, and external references.

Using samples

8 samples help test viewer loading, extension detection, and load time across file sizes.

Sample files

8 / 8 files
Sample Traits Size Source / license / SHA-256
3D

Voxel51 Train 7k Gaussian Splat PLY

Voxel51 Train 7k Gaussian Splat PLY is a Polygon File Format sample based on Hugging Face: Voxel51/gaussian_splatting. It can be used to test downloads, parsers, previews, and file type detection.

voxel51-train-iteration-7000.ply
Type Sample
Large file
175.47 MB
SHA-256 9f5c643fa18cb5ed6a11441f073133ed1034e3b0656bce5b7b5db3db49161366
Download
3D

Voxel51 Train 30k Gaussian Splat PLY

Voxel51 Train 30k Gaussian Splat PLY is a Polygon File Format sample based on Hugging Face: Voxel51/gaussian_splatting. It can be used to test downloads, parsers, previews, and file type detection.

voxel51-train-iteration-30000.ply
Type Sample
Large file
254.19 MB
SHA-256 a4c1906ce0256f5cb2255aa078d18b468dc01d8604f6eda1aaf22b235147a7a1
Download
3D

Voxel51 Playroom 7k Gaussian Splat PLY

Voxel51 Playroom 7k Gaussian Splat PLY is a Polygon File Format sample based on Hugging Face: Voxel51/gaussian_splatting. It can be used to test downloads, parsers, previews, and file type detection.

voxel51-playroom-iteration-7000.ply
Type Sample
Large file
353.69 MB
SHA-256 201bc92b65594727a3ecfbe7e658c09ac3f8be753e2e2024047cd3ea1fe31d8c
Download
3D

Voxel51 Playroom 30k Gaussian Splat PLY

Voxel51 Playroom 30k Gaussian Splat PLY is a Polygon File Format sample based on Hugging Face: Voxel51/gaussian_splatting. It can be used to test downloads, parsers, previews, and file type detection.

voxel51-playroom-iteration-30000.ply
Type Sample
Large file
453.25 MB
SHA-256 c6fddedf6c7b412d078bbbaa1826e7a1b258f75f862c5190dc50a646243d7d9e
Download
3D

Voxel51 Truck 7k Gaussian Splat PLY

Voxel51 Truck 7k Gaussian Splat PLY is a Polygon File Format sample based on Hugging Face: Voxel51/gaussian_splatting. It can be used to test downloads, parsers, previews, and file type detection.

voxel51-truck-iteration-7000.ply
Type Sample
Large file
400.31 MB
SHA-256 158dd977a3197c7845da6eb45a3aa6f990e2e8ccac5f66d0436cac08873e4f4d
Download
3D

Voxel51 Truck 30k Gaussian Splat PLY

Voxel51 Truck 30k Gaussian Splat PLY is a Polygon File Format sample based on Hugging Face: Voxel51/gaussian_splatting. It can be used to test downloads, parsers, previews, and file type detection.

voxel51-truck-iteration-30000.ply
Type Sample
Large file
486.42 MB
SHA-256 2301f6f0d0e13d48b375f4d5ae1ce20ebaee2aa2978f576be4e8c09ae2971f5c
Download
3D

Voxel51 Dr Johnson 7k Gaussian Splat PLY

Voxel51 Dr Johnson 7k Gaussian Splat PLY is a Polygon File Format sample based on Hugging Face: Voxel51/gaussian_splatting. It can be used to test downloads, parsers, previews, and file type detection.

voxel51-drjohnson-iteration-7000.ply
Type Sample
Large file
452.60 MB
SHA-256 9710dfbc97d1f288ac3f8d281e5422fc91127f656aeb706852c952f2b506134b
Download
3D

Voxel51 Dr Johnson 30k Gaussian Splat PLY

Voxel51 Dr Johnson 30k Gaussian Splat PLY is a Polygon File Format sample based on Hugging Face: Voxel51/gaussian_splatting. It can be used to test downloads, parsers, previews, and file type detection.

voxel51-drjohnson-iteration-30000.ply
Type Sample
Large file
751.53 MB
SHA-256 92f4898839ec4ad7f197cf6c74b89918b35ea712b4e41435593ccb152d22b7f5
Download

Frequently asked questions

What is the magic number (file signature) of Polygon File Format?

Polygon File Format files begin with the byte signature 70 6C 79 0A ("ply.") or 70 6C 79 0D 0A ("ply.."). Detect the format by reading these leading bytes rather than trusting the file extension alone.

What is the MIME type of Polygon File Format?

The MIME type for Polygon File Format is model/ply, application/octet-stream.

What file extension does Polygon File Format use?

Polygon File Format files use the .ply extension. The extension is a convention only and does not guarantee the file contents, so combine it with signature and structure checks.

Related formats