Neatbo.

FASTQ read quality filter

Filter strict four-line single-end PHRED+33 FASTQ by an inclusive all-base score interval, retaining selected original record bytes and complete decisions.

Browser-local processingInputFour-line PHRED+33 FASTQOutputFiltered FASTQ / decision JSON / CSVUp to 10 MiB per file · File limit: 1
  1. 1Add input
  2. 2Adjust settings
  3. 3Get your result

Tool input and files are processed in this browser without being uploaded.

Your input

Inputs are kept temporarily in this tab when switching tools. Refreshing or closing clears them; large results may need to be regenerated.

⌘ / Ctrl + Enter to run

or drag and drop it here

Files stay on this device. Your originals stay unchanged.

.fastq · .fq · .txt

Up to 10 MiB per file · File limit: 1

    0 characters · 0 bytes
    Options

    Complete the required options first. You can keep the defaults for the rest.

    Preparing the tool…

    Before you start

    Keep or drop whole reads using an explicit quality interval. The default 30–42 matches the quality characters ? through K; legal @ and + characters stay quality data.

    How to use this tool

    1. Open a four-line PHRED+33 FASTQ and choose the inclusive score interval.
    2. Inspect kept/dropped counts, score histograms and complete per-record reasons.
    3. Download the byte-preserving filtered FASTQ and all decision rows.

    Supported inputs and limits

    One UTF-8 file or paste up to 10 MiB, 100,000 records and 4,000,000 total bases. Complete downloads up to 40 MiB. Empty whole files produce zero records; nonempty records require at least one base.

    Strict four lines per record: nonempty @identifier, IUPAC DNA/RNA sequence, + with an optional identical full identifier, and equal-length quality. PHRED+33 ASCII ! through ~ scores 0–93. Wrapped FASTQ, Phred64 guessing and paired synchronization are unsupported.

    Every base must fall inside the inclusive minimum/maximum interval, default 30–42. A read containing Q43 is dropped too. Reports include minimum/maximum/mean, outside count, kept/dropped reason and two complete 94-bin score histograms. Means are arithmetic score averages.

    Use only LF or only CRLF within one file. Mixed conventions and lone CR reject. A final quality line without a newline is legal. Each kept entire source record preserves header, plus line, bytes, ordering and EOF state. Byte spans are half-open UTF-8 offsets.

    Table preview shows 200 decisions with long cells clipped to 2,000 characters. Above 20,000 report characters copying gives an explicit preview. Complete FASTQ/JSON/CSV remain downloadable; invalid or over-budget input returns no partial filtered file. No biological or medical interpretation.

    Worked example

    Example input

    @first info
    ACGT
    +
    ????
    @lower
    AC
    +lower
    @+
    @upper
    A
    +
    L
    
    Example options
    {"secondary":"","params":{"minPhred":30,"maxPhred":42,"spreadsheetSafe":true}}

    Example output

    {"format":"strict-four-line-single-end-PHRED33","summary":{"records":3,"kept":1,"dropped":2,"bases":7,"minPhred":30,"maxPhred":42,"newline":"CRLF","histogramBins":94,"keptBytes":28},"histogram":[0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"retainedHistogram":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"records":[{"index":0,"id":"first info","byteStart":0,"byteEnd":28,"bases":4,"minimum":30,"maximum":30,"mean":30,"outside":0,"decision":"kept","reason":"all_bases_in_interval"},{"index":1,"id":"lower","byteStart":28,"byteEnd":52,"bases":2,"minimum":10,"maximum":31,"mean":20.5,"outside":1,"decision":"dropped","reason":"quality_outside_interval"},{"index":2,"id":"upper","byteStart":52,"byteEnd":69,"bases":1,"minimum":43,"maximum":43,"mean":43,"outside":1,"decision":"dropped","reason":"quality_outside_interval"}],"scope":"Inclusive all-base interval. Wrapped FASTQ, Phred64, paired synchronization and zero-base records unsupported. Source byte spans use half-open UTF8 offsets; kept records retain bytes and EOF exactly. Mean is the arithmetic score average."}

    When something does not work

    Check four-line record structure, matching optional plus identifier, nonempty IUPAC sequence, ASCII PHRED+33 quality and one newline convention. Correct the interval or re-export a supported file; reduce input if full outputs exceed40 MiB.

    Frequently asked questions

    Why is a quality line beginning with @ not a new read?

    Record boundaries are the declared four-line structure. @ is a legal PHRED+33 score31, and + is score10 in the quality line.

    Is minimum30 enough to match the default?

    No. Default is the inclusive interval30–42. Every base must meet both bounds; a score43 fails.

    Will this keep mate pairs together?

    No. It processes a single-end file independently. Use a pair-aware workflow for paired data.

    Documentation & further reading

    Related tools