A modern, beautiful web application that converts markdown-formatted quiz questions into Canvas-compatible QTI packages for easy quiz import.
- 6 Question Types Supported:
- Multiple Choice (Single Answer)
- Multiple Answers (Select all that apply)
- True/False
- Short Answer / Fill-in-the-blank
- Essay Question
- File Upload Question
- Multi-Chapter Support: Automatically detects chapters and generates separate ZIP files for each.
- Live Preview: See your parsed questions instantly before generating.
- Canvas Compatible: Generates standard QTI 1.2 XML packages ready for import.
- 100% Client-Side: No data is ever sent to a server. Everything happens in your browser.
- SEO Optimized: Includes meta tags for better search visibility and social sharing.
- Dark Mode: Modern, clean interface with syntax highlighting.
The tool uses a simple markdown-like format.
- Chapters: Start a new chapter with
### **Chapter X: Title** - Questions: Numbered list (e.g.,
1. Question text) - Options: Lettered list (e.g.,
a) Option)
Mark the correct answer with an asterisk * before the letter.
1. What is 2+3?
a) 6
b) 1
*c) 5
d) 10
Use [ ] for options and [*] for correct answers.
2. Which of the following are dinosaurs?
[ ] Woolly mammoth
[*] Tyrannosaurus rex
[*] Triceratops
[ ] Smilodon fatalis
Standard multiple choice format with True/False options.
3. Water is liquid.
*a) True
b) False
Mark accepted answers with an asterisk *.
4. Who lives at the North Pole?
* Santa
* Santa Claus
* Father Christmas
Indicate an essay question with ####.
5. Write an essay about sustainable design.
####
Indicate a file upload question with ^^^^.
6. Upload your project proposal.
^^^^
- Format Your Questions - Use the markdown format shown above
- Paste into Editor - Copy your questions into the input area
- Preview (Optional) - Click "Preview Questions" to verify parsing
- Generate QTI - Click "Generate QTI Package" to download the ZIP file
- Import to Canvas:
- Go to your Canvas course
- Navigate to Settings → Import Course Content
- Select QTI .zip file as the content type
- Upload your generated file
- Complete the import process
- HTML5 - Semantic structure
- CSS3 - Modern styling with custom properties, gradients, and animations
- Vanilla JavaScript - No framework dependencies
- JSZip - Client-side ZIP file generation
- FileSaver.js - Trigger file downloads
This tool generates QTI 1.2 format XML files, which are compatible with Canvas LMS. The generated package includes:
assessment.xml- Contains all quiz questions in QTI formatimsmanifest.xml- Package manifest required by Canvas
- ✅ Chrome/Edge (recommended)
- ✅ Firefox
- ✅ Safari
⚠️ Internet Explorer (not supported)
- Push this repository to GitHub
- Go to Settings → Pages
- Under Source, select the branch (usually
main) and/rootfolder - Click Save
- Your site will be published at
https://yourusername.github.io/CanvasQuizMaker/
Contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
This project is open source and available under the MIT License.
- Built for educators who want a faster way to create Canvas quizzes
- Inspired by the need for a more user-friendly alternative to existing QTI converters
If you encounter any issues or have questions:
- Check the format guide in the app
- Verify your markdown follows the specified format
- Open an issue on GitHub
Made with ❤️ for educators | All processing happens client-side in your browser