Split and trim large ASC files
Keep only the minutes and CAN IDs you need, or split the log by time or size. Every part is still a standard ASC file.
Drop a .asc log here
orThe file is read in chunks, so logs of several gigabytes are fine. It never leaves your computer.
Why a large ASC file is hard to open, import or share
ASC is plain text, so it is easy to read but expensive to carry. Every frame becomes a line of about 50 bytes, and a busy vehicle bus logs thousands of frames per second. One hour on a few CAN channels quickly passes a gigabyte.
MATLAB runs out of memory on import
canMessageImport reads every message in the ASC file into one timetable before you can decode a single signal with your DBC. Hours of traffic from buses you do not need fill memory long before the analysis starts.
Tools slow down and files will not send
CANoe and CANalyzer take minutes to load a multi-gigabyte log, text editors give up, and mail servers or ticket systems reject attachments above a few tens of megabytes.
Scripts and reviews waste time on noise
A python-can or regex script still parses every line when you only need one ECU. Reviewers scroll past an hour of normal driving to find the ten seconds where the fault happened.
How to split an ASC file in four steps
The ASC splitter reads the log twice in chunks: once to show what is inside, once to write the parts. Nothing is uploaded.
Open the ASC log
Drop a .asc file or choose one. The first pass lists every CAN ID per channel with its frame count and charts line density across the recording, so busy and quiet periods stand out.
Pick the time window
Drag across the density chart to select the minutes you need, drag an edge to adjust, or type the start and end in seconds.
Keep the CAN IDs you need
Untick channels and IDs that only add noise. Search by hex ID or channel, and decide with one checkbox whether error frames and other timed lines stay.
Choose an output and download
Write one trimmed file, or split the ASC file every N seconds or every N megabytes. A live estimate shows lines, size and file count before you cut.
Trim, filter or split: four jobs for an ASC file splitter
Most people looking for a way to split an ASC file have one of these problems. Each one maps to a setting in the tool.
Import a large ASC file into MATLAB
Keep only the IDs your DBC decodes and the part of the drive you analyse, then run canMessageImport on the trimmed file. If it is still too big, split by duration and import the parts in a loop, appending decoded signals as you go. Memory then scales with one part, not the whole log.
Attach one event to a bug ticket
Select the thirty seconds around a fault and keep the original timestamps. The trimmed ASC log lines up with the video, the test report and the full recording, so whoever fixes the bug sees exactly what happened.
Cut a long recording into regular parts
Split a bench run or endurance test into ten-minute ASC files that all start with the same header. Parts are numbered in time order, which keeps batch processing and side-by-side comparison simple.
Stay under an upload or mail size limit
Split by size when a file share, ticket system or customer portal caps attachments. Choose 25 MB or 100 MB per part and the splitter starts a new file as soon as the current one reaches it.
What changes in the output files, and what does not
The splitter copies lines; it does not decode and rewrite them. That keeps every output faithful to the original Vector ASC log.
No file size limit
The log is streamed in chunks, so memory stays flat whether the ASC file is 50 MB or 5 GB. A 500 MB log with ten million frames scans in a few seconds on a laptop.
Lines copied as recorded
Classic CAN and CAN FD rows, comments and extra vendor columns are written back unchanged. Hex and decimal logs both work.
A header in every part
The date, base and internal-events lines are copied to the top of each output. If the log opened a trigger block, each part closes it, so CANoe accepts every file on its own.
Timestamps you control
Original times are kept by default, so parts line up with each other. Tick “Start timestamps at 0” to subtract the window start, with the same number of decimals as the source.
Error frames and other lines
Error frames, statistics and markers are kept or dropped together with one checkbox. Untimed lines inside the body are not copied.
Stays on your computer
The file is read and cut by your browser. Nothing is uploaded, no account is needed, and closing the tab discards everything.
ASC file splitter questions
How do I import a large ASC file into MATLAB without running out of memory?
Make the file smaller before MATLAB reads it. Trim the ASC log to the time window you need, keep only the CAN IDs your DBC decodes, or split it by duration and run canMessageImport on one part at a time. If you only need decoded signals, the ASC to MAT converter writes them straight to a .mat file without the Vehicle Network Toolbox.
Is there a file size limit?
No. The ASC splitter streams the file instead of loading it whole, so multi-gigabyte logs work. Writing very large outputs takes longer, and a progress bar shows how far it has got.
Will CANoe and CANalyzer open the split files?
Yes. Each part starts with the original header and keeps every event line as recorded, so CANoe, CANalyzer, MATLAB and python-can read it like the source log.
Should I split by time or by size?
Split by time when the parts need to line up with test steps, drive cycles or other recordings. Split by size when the limit is an upload, an attachment or a tool that cannot handle large files.
What happens to error frames and non-CAN lines?
Timed lines that are not CAN frames, such as error frames, statistics and markers, are kept by default. Untick “Keep other timed lines” to drop them.
Can it split BLF or MF4 logs?
Not yet; this tool reads Vector ASC. To get signals out of BLF or MF4, use the BLF to MAT or MF4 to MAT converter, or turn a BLF into ASC first with the BLF to ASC converter.
More free tools
The next job after this one, each on its own page.