Quizleter is a tool for converting PDF files containing multiple-choice questions into structured formats for better studying, flashcard creation, and content reuse.
Quizleter extracts multiple-choice questions and answers from PDF files and converts them into more usable formats like text or JSON. This is particularly useful for students and educators who want to:
- Export their Quizlet study sets to other flashcard applications
- Create printable study materials
- Format question sets for integration with other learning tools
- Clean up and standardize the formatting of questions and answers
- PDF Processing: Extract multiple-choice questions, options, and answers from PDF files
- Text Cleaning:
- Remove specific words or phrases (like author names)
- Strip unwanted characters from text
- Standardize formatting across all questions
- Multiple Output Formats:
- Text files with customizable separators
- JSON format for programmatic use
- User-Friendly Interface:
- Simple drag-and-drop interface
- Preview feature to check output before saving
- Progress tracking for large files
- Customization Options:
- Define question-answer separators (tab, comma, etc.)
- Set card separators (newlines, special characters, etc.)
- Specify words and characters to remove
- Download the latest release from the Releases page
- Extract the ZIP file
- Run the
Quizleter.exeexecutable (Windows) or the equivalent for your platform
If you want to run from source:
# Clone the repository
git clone https://github.com/lunovian/quizleter.git
cd quizleter
# Install dependencies
pip install -r requirements.txt
# Run the application
python app.py- Launch the application: Open Quizleter
- Load the PDF file:
- Click "Browse" to select your PDF file containing multiple-choice questions, or
- Drag and drop the file onto the application
- Choose output format:
- Select "Text File (.txt)" or "JSON File (.json)"
- Customize separators (for text format):
- Set the question-answer separator (tab, comma, etc.)
- Set the card separator (newline, double newline, etc.)
- Text cleaning options:
- Enter words/phrases to remove (comma-separated)
- Specify characters to remove
- Preview the results:
- Click "Preview" or press Ctrl+P to see how the output will look
- Save the file:
- Click "Save" or press Ctrl+S to save the processed file
- Choose a location and filename
The application is distributed as a standalone executable file:
- Windows:
Quizleter-X.X.X.exe(64-bit) where X.X.X is the version number - Automatic Updates: The application does not currently auto-update; check the Releases page for new versions
- No Installation Required: The executable is portable and requires no installation
- First Run: Windows may show a security warning when running for the first time. Click "More info" and then "Run anyway" to proceed
The application executable is automatically built and uploaded to GitHub Releases through GitHub Actions whenever a new version is released. To download:
- Visit the Releases page
- Find the latest release and download the ZIP file containing the executable
- Extract the ZIP file to a location of your choice
- Run the executable directly - no installation needed
Releases follow semantic versioning (X.Y.Z):
- X: Major version with significant changes
- Y: Minor version with new features
- Z: Patch version with bug fixes
Converting a Quizlet export with multiple-choice questions:
Original PDF content:
What is the capital of France?
A. London
B. Berlin
C. Paris
D. Madrid
Cleaned Text output:
What is the capital of France?
A. London
B. Berlin
C. Paris
D. Madrid C
JSON output:
{
"question": "What is the capital of France?",
"options": ["London", "Berlin", "Paris", "Madrid"],
"answer": "C"
}- Windows 7/8/10/11, macOS 10.14+, or Linux
- No additional software required for the standalone executable
- Python 3.8+ (if running from source)
The application can be built into a standalone executable using PyInstaller:
pyinstaller --name="Quizleter" --onefile --windowed --icon=assets/icon.ico app.pyThis project is open source and available under the MIT License.
Contributions are welcome! Please feel free to submit a Pull Request.
