burpeditor
Inspect and edit Burp Suite .burp project files from the command line, without Burp.
Installation
pipx install burpeditor
Editing history items
Commands that modify a project overwrite it; use -o/--output new.burp to save
the result to a new file and keep the original. Close the project in Burp first.
# Open the request in $EDITOR (the response with --response)
burpeditor edit project.burp 12
burpeditor edit project.burp 12 --response
# Replace messages with files, saving to a new project
burpeditor edit project.burp 12 --request-file request.txt --response-file response.txt -o edited.burp
By default the new message replaces the original one (and any auto-modified or
edited versions), so Burp shows it directly. With --keep-original it is stored
the way Burp stores a message changed in the interceptor: Burp keeps the
original and offers both in the message viewer (Original/Edited). Item metadata
that Burp derives from the messages (method, URL, host, extension, parameters,
status, MIME type, length, title, cookies) is updated too; the site map is not.
Line endings are normalized to CRLF, and a request with a body but no
Content-Length gets one; an existing Content-Length is kept as written.
import reads the XML that Burp writes with "Save items" (Proxy history, site
map, ...) and adds every item to the new project's HTTP history, keeping the
host, port, protocol, IP, time and comment of each item. The export only has
second precision for times.
New items can be added to the history with
burpeditor add project.burp --request-file req.txt [--response-file resp.txt] [--http].
How it works
A .burp file is a memory-mapped object heap with a bump allocator. Objects
are records (flags, type, schema version, field count, field descriptors, values) and primitive arrays, linked by absolute 64-bit offsets. burpeditor
reads that object graph directly, and writes by allocating new objects at the
end of the heap and updating pointers, as Burp does. burpeditor/burp/store.py
documents the layout.
create writes the objects Burp allocates for a new project (the application
root, its tools and the default project options), taken from a real project
with all data collections and identifiers removed, and then fills in fresh
empty collections, random identifiers and the project name.
Files are written in format version 222; newer Burp versions upgrade them when the project is opened. Projects created or edited by burpeditor have not been verified against every Burp release, so keep a copy of anything important.
Acknowledgements
Special thanks to bmm-sec/burp-insights for inspiration.
Disclaimer
This tool is not a replacement for Burp Suite Professional. It is designed to complement and extend existing security testing workflows, particularly when working with exported HTTP traffic. Features provided by Burp Suite Professional remain outside the scope of this project.
Imported requests and responses may be editable for experimentation, replay, annotation, or analysis. However, do not modify original data when it is being used as proof of concept.
License
Distributed under the Apache-2.0 License. See LICENSE for more information.
Metadata
Release files for burpeditor 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| burpeditor-0.1.0.tar.gz | 35.8 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| burpeditor-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 75.3 kB
Release files / burpeditor-0.1.0.tar.gz
| Download URL | burpeditor-0.1.0.tar.gz |
|---|---|
| Size | 35.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
54fe8a18c16df4d1928dd1d4aaed7eb6adf248dcf02206558d6dbb89fcc8bbf2
|
|
BLAKE2b-256 checksum How to use checksums |
6b729feec0c8c2eda46addbcbc927f14cf14452e388a6001045918924ff05af6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency logRelease files / burpeditor-0.1.0-py3-none-any.whl
| Download URL | burpeditor-0.1.0-py3-none-any.whl |
|---|---|
| Size | 39.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e624bd26c371eeff6c11d6b84d6cd9e59c9154567fea563be3b4ef87a841822a
|
|
BLAKE2b-256 checksum How to use checksums |
f749b7d7a3dbc411301d4c6cfdb9644798a33a88e2e418bc8659f9bff24b21c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency logSecurity for burpeditor 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for burpeditor-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.