FLAC MIME Type

Learn what audio/x-flac means, why audio/flac is now preferred, how to identify FLAC files, and how Poly handles them.

MIME type details for audio/x-flac

In active use
MIME typeaudio/x-flac
Extensions
.flac
Magic number66 4C 61 43
First standardized2000
Created byJosh Coalson
Browser supportChrome, Edge, Firefox, Opera, Safari
Example applicationsAudacity, FFmpeg
Poly supportYes. Poly recognizes audio/x-flac and .flac files, extracts duration and available tags, uses embedded artwork for thumbnails, and transcribes spoken audio.
Indexed by PolyYes. Poly indexes the filename, extracted audio metadata, transcript text, and timestamped audio-similarity segments. A useful transcript depends on intelligible speech.
Preview in PolyYes. Poly opens FLAC files in its audio player. Playback uses the original file, so it still depends on the browser's FLAC decoder.
Poly agentYes. The Poly agent can read the stored transcript and can send FLAC audio directly to its multimodal backend. Music without speech may not yield useful transcript text.

What does audio/x-flac mean?

The audio/x-flac media type identifies a native Free Lossless Audio Codec stream, usually stored in a .flac file. FLAC compresses PCM audio without changing any decoded sample values. Unlike MP3, AAC, or Opus, it does not discard information to make the file smaller.1

audio/x-flac is now a deprecated alias. In December 2024, RFC 9639 formally registered audio/flac and named audio/x-flac as its deprecated alias.2 New HTTP responses and file metadata should use audio/flac when possible, while upload handlers should continue accepting the older value for compatibility.

The media type describes a native FLAC stream. FLAC carried inside Ogg, Matroska, or MP4 uses the media type of that container, such as audio/ogg or audio/mp4.2

How to identify a FLAC file

A native FLAC stream starts with the ASCII signature fLaC, or hexadecimal bytes 66 4C 61 43. The signature is followed by a required STREAMINFO metadata block, optional metadata blocks, and one or more audio frames.23

STREAMINFO records properties needed to decode the stream, including the sample rate, channel count, bit depth, total sample count, and an optional MD5 checksum of the decoded audio. Other standard blocks can hold a seek table, Vorbis comments, a cuesheet, and pictures such as album artwork.2

The opening bytes and .flac extension are stronger identification signals than an incoming Content-Type header. Older servers may still send audio/x-flac, newer ones should send audio/flac, and an unknown upload may arrive as application/octet-stream.

To check a local file without writing decoded audio, run flac --test recording.flac. The reference tool parses the metadata and stream and also compares decoded audio with the stored MD5 value when that value is present.4

FLAC history and standardization

Josh Coalson originally developed the FLAC format and reference implementation. The format was first specified in December 2000, then its bitstream was considered frozen with the July 2001 release of FLAC 1.0.2

For many years, the Xiph.Org specification and the open-source reference implementation supplied the practical definition. RFC 9639 became the IETF Proposed Standard in December 2024. The RFC largely documented the established format rather than replacing it, while explicitly adding 32-bit audio support and a small set of compatibility restrictions.5

The registered audio/flac name belongs to an uncontainerized FLAC stream. That distinction matters when configuring a web server or object store: changing only the declared media type does not convert Ogg FLAC into a native .flac file, or vice versa.

How FLAC compression works

FLAC divides the audio into blocks and predicts sample values from nearby samples. It then losslessly codes the smaller residual between each prediction and the original signal. Stereo encoders can also exploit similarities between the left and right channels. The decoder reconstructs the exact original PCM samples from those coded values.2

Compression depends on the recording and encoder settings. Tonal or highly correlated material generally leaves smaller residuals than noise-like material. A higher FLAC compression level asks the encoder to search harder for a compact representation, but it does not improve sound quality. Every valid level is lossless, and the main tradeoff is encoding time versus file size.4

FormatDecoded audioTypical useMain tradeoff
FLACBit-exact PCM reconstructionMusic libraries, masters, and archivesSmaller than PCM, but requires decoding
WAV or AIFF with PCMUncompressed PCMEditing and broad interchangeSimple and fast, but larger
AAC, MP3, or OpusLossy reconstructionStreaming and compact deliverySmaller files, but discarded detail cannot be recovered

FLAC's STREAMINFO MD5 can detect accidental changes to the decoded samples, but it is not a digital signature. It does not establish who created the file, and metadata can change without changing that audio checksum.

How to open an audio/x-flac file

Current Chrome, Edge, Firefox, Opera, and Safari releases support FLAC playback through HTML audio. MDN lists desktop Firefox support from version 51 and Safari support from version 11.6 A correct audio/flac response is the best choice on the web, although accepting the legacy alias remains useful.

For desktop playback, editing, or conversion:

  • Audacity imports, plays, and exports FLAC without an optional codec package.7
  • FFmpeg includes a FLAC decoder and encoder and is useful for inspection and batch conversion.8
  • The Xiph flac command can encode, decode, test, and verify native FLAC streams.4

Browser support does not guarantee that every unusual stream will play. FLAC permits up to eight channels and a wide range of sample rates and bit depths, while a particular device or audio output path may support a narrower set.2

Support in Poly

Poly has an explicit audio/x-flac type and maps .flac filenames to it. Its audio indexer decodes the file, extracts duration and available tags, and turns embedded cover artwork into thumbnails. It also creates timestamped audio-similarity embeddings and transcribes spoken audio to WebVTT. Transcript segments become full-text search results that can seek the player to the matching moment.

Poly opens recognized FLAC files in its audio player and streams the original file rather than creating a separate playback transcode. This works in current mainstream browsers, but playback ultimately depends on the browser and platform decoding that particular stream.

The Poly agent has two content paths for FLAC. It can read the stored transcript, and its multimodal backend explicitly accepts FLAC by sending the file as audio/flac. The transcript is most useful for speech. Instrumental music, ambient recordings, or unclear speech may produce little useful text even though audio-similarity search still works.

Poly's internal identifier remains audio/x-flac, even though the IANA registration now prefers audio/flac. Poly recognizes .flac filenames, but the current MIME map does not separately accept the canonical audio/flac string.

Converting FLAC to WAV, MP3, or AAC

Decode to WAV when an editor, sampler, or interchange workflow expects uncompressed PCM:

ffmpeg -i input.flac output.wav

This can preserve the decoded samples exactly when the output bit depth and channel layout match. Container-specific FLAC metadata, pictures, cuesheets, and tags may not have direct WAV equivalents, so inspect metadata separately before treating the conversion as an archival replacement.

For a smaller delivery copy, encode to a lossy format such as AAC, MP3, or Opus. Keep the FLAC original because transcoding to a lossy codec discards information. Converting that delivery copy back to FLAC only stores the already-altered samples losslessly.

Audacity's FLAC export settings illustrate another useful distinction: compression levels change encoding effort and output size, not fidelity. Its highest setting can take substantially longer for only a small size improvement over lower levels.9

Security and metadata considerations

Treat an untrusted FLAC file as complex binary input. RFC 9639 warns implementers to bound allocations and resource use when parsing malformed frames and metadata. Valid metadata can itself be very large, and picture blocks can contain external URIs that introduce tracking, integrity, directory-traversal, or denial-of-service risks if an application follows them automatically.2

Vorbis comments and picture blocks may also disclose titles, artist names, comments, lyrics, artwork, or workflow details. Review both audio and metadata before publishing a private recording.

Footnotes

  1. RFC Editor. RFC 9639: Free Lossless Audio Codec (FLAC), Introduction.
  2. RFC Editor. RFC 9639: Free Lossless Audio Codec (FLAC). 2 3 4 5 6 7 8
  3. Xiph.Org Foundation. FLAC Format Overview.
  4. Xiph.Org Foundation. FLAC Command Line Tool. 2 3
  5. Xiph.Org Foundation. FLAC Is Now Formally Specified in RFC 9639.
  6. MDN Web Docs. Web Audio Codec Guide: FLAC.
  7. Audacity. Importing Audio and Play.
  8. FFmpeg. Codec Documentation: FLAC.
  9. Audacity. FLAC Export Options.
© Poly Corp. 2026