FASTQ to FASTA converter
v1.0.0Convert FASTQ sequencing reads to FASTA while preserving headers and sequence case by default.
Paste FASTQ reads or upload a .fastq, .fq, or .txt file, then select Convert to get a FASTA file. ProteinIQ validates each record and removes its quality string. Sequence case and header descriptions are preserved; duplicate read identifiers receive numeric suffixes with a warning. Optional filters can remove low-quality reads or trim their ends.
For one FASTQ record:
@read_1 sample
ACGTRYSWKM
+
IIIIIIIIIIThe FASTA output contains the same read identifier and sequence, without the + separator or quality string:
>read_1 sample
ACGTRYSWKMFor multiple FASTQ records, each retained read becomes a separate FASTA record. This input:
@read_1
ACGTACGT
+
IIIIIIII
@read_2
TTGGAACC
+
HHHHHHHHproduces:
>read_1
ACGTACGT
>read_2
TTGGAACCWith Trim low-quality ends enabled and the default Q15 trim threshold, this read:
@trimmed_read
TTACGTACGTAA
+
#,,,IIIIII,,becomes:
>trimmed_read
GTACGTFour bases are removed from the start and two from the end. The warning and summary report one trimmed read. If trimming removes every base, that read is discarded rather than written as an empty FASTA record.
Wrapped sequence and quality sections are supported. Their joined lengths must match. Quality lines beginning with @ or + remain quality data until the expected number of characters has been read.
| Input | Description |
|---|---|
FASTQ input | Plain-text FASTQ reads, pasted or uploaded as .fastq, .fq, or .txt. Maximum file size: 100 MiB (104,857,600 bytes), subject to the page's account limits. Decompress .fastq.gz files before uploading. UTF-8 byte order marks and Windows line endings are supported. |
| Setting | Description |
|---|---|
Quality threshold | Default: No filtering. Q10+, Q20+, and Q30+ require the arithmetic mean of retained per-base Phred scores to meet the threshold. |
Quality encoding | Default: Phred+33 (Sanger / Illumina 1.8+). Alternatives: Phred+64 (older Illumina) and Solexa+64. Solexa scores are converted to Phred before averaging, filtering, or trimming. |
Add average quality to headers | Default: off. Appends avg_qual rounded to one decimal place. When a read is trimmed, also appends its original and retained lengths. |
Trim low-quality ends | Default: off. Removes consecutive bases below the trim threshold from each end. Low-quality bases inside the retained span remain. |
Trim threshold | Shown when trimming is on. Default: Q15. Range: Q0 to Q60. Bases exactly at the threshold are retained. |
Filter by read length | Default: off. Applies inclusive minimum and maximum lengths after trimming. |
Minimum length | Shown when length filtering is on. Default: 50 bases. Must be a non-negative whole number no greater than the maximum. |
Maximum length | Shown when length filtering is on. Default: 1000 bases. Must be a non-negative whole number no smaller than the minimum. |
Remove reads containing N | Default: off. Excludes retained sequences containing N or n after trimming. Other IUPAC ambiguity symbols remain accepted. |
Results open on the FASTA preview, with a line showing how many reads were converted. Downloads contains the FASTA file, conversion summary, and run.log; the log also appears in the shared Logs tab. Uploaded filenames supply the FASTA basename, such as reads.fq becoming reads.fasta.
| Output | Description |
|---|---|
| FASTA file | Converted FASTA records for reads that pass validation and selected filters. |
fastq-to-fasta-summary.txt | Input and output counts, filter counts, trimmed and fully trimmed read counts, renamed identifiers, average quality, settings, and warnings. Filter counts can overlap when a read fails more than one condition. |
run.log | Conversion status, validation and filtering phases, the summary, and warnings. Parsing failures retain a log; fully filtered runs include their counts without producing an empty FASTA download. |
| FASTA preview | Rendered FASTA text for quick inspection before copying or downloading. |
FASTQ records contain four logical sections:
@, immediately followed by a nonempty read identifier and optional description.A, C, G, T, U, R, Y, S, W, K, M, B, D, H, V, and N. Letter case and the supported gap markers . and - are preserved.+. It may be a bare + or repeat the read identifier, with an optional description. A different identifier is rejected.The converter reads each FASTQ record, joins wrapped sequence and quality sections, checks that the sequence and quality lengths match, applies optional trimming and filters, then writes each passing read as FASTA.
Malformed records fail the entire conversion. Check the record number in the error, correct its header, separator, sequence, or quality section, and try again. Quality characters must be printable ASCII and valid for the chosen encoding. Decimal quality values, color-space reads, compressed data, and text extracted from Word or PDF files are outside this tool's input format.
These format and encoding rules follow the FASTQ format paper by Cock and colleagues and Biopython's quality-format reference.
Filtering and trimming are optional. With the default settings, every valid read is converted.
Quality filtering uses the arithmetic mean of Phred scores after optional end trimming. For example, scores Q0 and Q40 average to Q20. This does not mean the two bases have 99% average accuracy. The summary's average output quality is the unweighted mean of the retained reads' average scores, rather than a pooled mean across all bases.
The selected encoding matters because an ASCII character can represent different scores in Phred+33, Phred+64, and Solexa+64 files. Encoding is selected explicitly; overlapping character ranges prevent reliable automatic detection. Check the data provider's format if the encoding is uncertain.
Length filtering runs after optional trimming. If Trim low-quality ends is enabled, bases below the trim threshold are removed from the start and end of the read first, then the post-trimming length is compared with the minimum and maximum length settings.
Remove reads containing N checks the sequence remaining after trimming. A read whose only N bases were trimmed away can pass. Other IUPAC ambiguity symbols such as R, Y, S, and W remain valid. Fully trimmed reads are always discarded; if no reads remain, lower the thresholds or disable filters.
FASTA output is simple, but a few rules matter for downstream compatibility.
>, followed by the FASTQ header without the leading @. Duplicate identifiers receive _2, _3, or the next unused numeric suffix before the description, and the change is reported. For example, two headers named read sample A and read sample B become read sample A and read_2 sample B.Add average quality to headers is enabled, the read's average quality is appended to the FASTA header.Use FASTQ to FASTA when your input is sequencing-read data with quality-score lines. Use a different converter when the source file is not valid FASTQ.
| Input format | Best converter | Use when |
|---|---|---|
| FASTQ sequencing reads | FASTQ to FASTA | You need to remove quality-score lines from read data. |
| FASTA sequences needing FASTQ | FASTA to FASTQ | You need synthetic quality strings for FASTA records. |
| TXT or pasted sequence text | TXT to FASTA | You have raw DNA, RNA, or protein text without FASTQ quality lines. |
| CSV or spreadsheet-like text | CSV to FASTA | Sequence IDs and sequences are stored in columns. |
| GenBank records | GenBank to FASTA | You want sequence records from annotated GenBank files. |
| Alignments, EMBL, or an unknown format | FASTA converter | You want FASTA without choosing a converter for the format. |
Upload the .fastq or .fq file, keep Quality threshold set to No filtering unless you want to remove low-quality reads, and run the converter. The result can be copied or downloaded as a .fasta file.
No. FASTA does not have a field for per-base quality scores. This converter can append each read's average quality to the FASTA header, but the original per-base quality string is removed from the FASTA output.
Yes. The sequence and quality sections can span multiple lines as long as the joined quality string has exactly one character per joined sequence letter.
Use Phred+33 for most modern FASTQ files, including Sanger and Illumina 1.8+ data. Use Phred+64 for Illumina 1.3 to 1.7 files and Solexa+64 for early Solexa-format reads. Confirm the source encoding before using quality-based filters; a file can be valid under more than one encoding.
Use FASTQ to FASTA when your input has @ headers, + separator lines, and quality strings. Use TXT to FASTA for raw sequence text copied from notes, spreadsheets, reports, or plain text files.
Convert FASTA sequences to FASTQ with configurable mock Phred quality scores.
Convert CSV or TSV sequence tables to FASTA with automatic delimiter detection and column mapping.
Paste or upload a sequence file in any common format and download FASTA. The format is detected automatically, and nothing leaves your browser.
Convert GenBank records to FASTA by extracting primary sequences, CDS, or translations.
Paste or upload DNA, RNA, or protein text and download FASTA. Sequence names, wrapped lines, and tables are detected automatically, and nothing leaves your browser.
Convert coding-strand DNA to RNA notation by replacing thymine with uracil.
Generate reverse, complement, or reverse-complement sequences from raw, FASTA, or FASTQ DNA and RNA input.
Replace U with T while keeping the same strand orientation. Paste RNA or upload a sequence file.
Extract CDS, mRNA, gene, rRNA, and tRNA features from GenBank records into FASTA.
Paste or upload FASTA and download a CSV or TSV table for spreadsheets, or a plain text file with one sequence per line.