Neatbo.

Pack complete local playlist references

Create a relative-path playlist package from explicitly selected originals, preserving ordered repeats and complete source evidence.

Select the task inputs together

The original user wanted the tracks referenced by a playlist collected into one folder. Their later update used M3U and still asked for a GUI. T312 handles that selected local reference task with a complete package: UTF-8 extended M3U/M3U8 plus all media originals. It does not read WPL, search your disk or fetch a URL.

Files ending in .m3u or .m3u8 are playlists; every other selected file is an opaque media original. Select each referenced original yourself. Exact duplicate selected basenames reject the batch because one reference could otherwise identify multiple originals.

Inputs and delivered files
InputMeaningComplete output
M3U/M3U8Ordered references, EXTINF and ordinary commentsRewritten playlist-1.m3u8, playlist-2.m3u8, …
Selected mediaActual original bytes chosen by youReferenced originals copied once under media/0001.extension
Explicit binding JSONOriginal literal → exact selected filenameFull binding, source SHA256 and unused-file JSON/CSV

Bind paths explicitly

A bare line track.wav can match a selected track.wav exactly. C:\Music\track.wav, ./Album/track.wav and file:///Music/track.wav require a binding pair even when their last filename matches. A basename cannot prove that an old path refers to the chosen original.

Enter a JSON array of pairs, for example [["C:\\Music\\track.wav","track.wav"]]. For a local file URI, bind its exact original literal, including percent encoding. Parsing a URI only checks the supported syntax and its basename; it never navigates or resolves the URI. Duplicate bindings, missing selected targets and bindings not used by the selected playlists all fail the batch.

  • Use [] only when all references are exact bare selected filenames.
  • No host or localhost is allowed for file URIs; query, fragment, credentials and remote authorities are refused.
  • A remote URL, nested playlist, HLS or unknown #EXT directive is outside this profile.

Keep repeated occurrences and metadata

In the checked example, first.m3u8 references 曲一.wav twice and second.m3u8 references 曲二.wav once. The two playlist outputs keep all three occurrences; media/0001.wav is copied once and referenced twice. The # retained comment, original EXTINF title and duration text stay in their original occurrence groups. unused.wav appears in the complete report but is not copied.

Checked reference map
PlaylistOriginal literalDelivered reference
first.m3u8, occurrence 1C:\Music\曲一.wavmedia/0001.wav
first.m3u8, occurrence 2C:\Music\曲一.wavmedia/0001.wav
second.m3u8, occurrence 1file:///Music/%E6%9B%B2%E4%BA%8C.wavmedia/0002.wav

Apply the budgets together

Select 1–10 playlists of at most 1 MiB each and 1–1,000 media originals of at most 20 MiB each. All selected bytes together must fit 80 MiB. The published workload also limits physical lines and reference records; empty lines count toward the physical-line ceiling.

Concurrent limits
DimensionLimit
Ordered references / physical playlist lines10,000 / 200,000
Path or metadata line / selected basename4,096 / 512 UTF-16 units
Explicit pairs / raw binding text10,000 / 1 MiB UTF-8
Complete JSON and CSV together10 MiB
ZIP protective allocation guard96 MiB; source and rewrite limits dominate it

Use complete downloads and recover cleanly

Download the ZIP and full JSON/CSV. JSON includes every original playlist hash, every ordered reference, comments, EXTINF, explicit binding, copied original hash and unused selected original. CSV protects formula-leading cells with an apostrophe; the exact source literals remain in JSON. The table previews 200 rows and 2,000 UTF-16 units per cell.

Extract the whole ZIP together so the generated relative paths remain valid. The tool does not decode media or guarantee your device supports the suffix or codec. Reports retain original path literals, so choose which files to share deliberately. A failed or cancelled batch publishes no partial success archive; fix the named cause and rerun the same supported originals.

  • The native capacity proof copies all 1,000 selected small WAV originals and independently checks every ZIP entry byte and CRC.
  • The 80 MiB and exact 10 MiB report vectors are actual source data; first excesses reject the whole batch.
  • Actual unfinished Worker hash progress can be cancelled, then the same originals can be recovered without an artificial delay. Native proof does not replace the final browser checks.

References

Tools in this category

Expand a tool to see its steps, options and supported formats, then open its workspace.

Pack a portable local playlistBind local M3U references to selected originals, preserve repeated tracks and metadata, and download a complete relative-path ZIP with SHA256 reports.

Select UTF-8 extended M3U/M3U8 playlists and every referenced media original. Bare filenames match exactly. For a path or local file URI, provide an explicit pair linking that original literal to one selected filename. The complete package copies referenced originals once and preserves every playlist occurrence.

Steps

  1. Select the playlists and all referenced media originals in one local batch.
  2. Enter binding pairs such as [["C:\Music\track.wav","track.wav"]]; leave [] only for exact bare selected filenames.
  3. Create the package and review references, repeated tracks, source hashes and unused selections.
  4. Download ZIP and complete JSON/CSV. Extract the entire package together before testing it in the intended player.

Available options

Explicit path bindings (JSON pairs)
[]

[[originalPath,selectedFilename],…]; paths remain inert. Every non-bare reference requires a pair, and every pair must be used. UTF-8 JSON ≤ 1 MiB.

Capabilities and limits

  • 1–10 UTF-8 extended M3U/M3U8 files, each ≤ 1 MiB; 1–1,000 selected media originals, each ≤ 20 MiB; combined selected bytes ≤ 80 MiB. All limits apply together. Files ending in .m3u or .m3u8 are classified as playlists, regardless of MIME type.
  • At most 10,000 ordered references, 200,000 physical playlist lines, 4,096 UTF-16 units per reference path or metadata line, and 512 UTF-16 units per selected basename. Up to 10,000 explicit binding pairs and 1 MiB of UTF-8 binding JSON. Duplicate exact selected basenames, duplicate or unused bindings, and missing targets reject the entire batch.
  • Only #EXTM3U, #EXTINF and ordinary comments are supported. HLS, unknown #EXT directives, remote URLs, nested playlists and unbound non-bare paths are refused. A file URI may have no host or localhost; no query, fragment, credentials or remote authority is accepted. Nothing is fetched or executed.
  • Complete JSON and formula-protected CSV together must fit 10 MiB. ZIP has a protective 96 MiB guard, dominated by the source and bounded rewrite limits; a legal 96 MiB package is not separately promised. The preview shows at most 200 rows and 2,000 UTF-16 units per cell; downloads retain every record. CSV formula-leading cells gain an apostrophe, while JSON retains exact original values.
  • Media bytes are copied without decoding. A suffix is retained only as a generated package extension; it does not establish file authenticity, playback support, device compatibility or correct original path identity. Original disk files are never modified.
Open Pack a portable local playlist →